如果属性从XX开始,则从XML到JSON

我有这个function

request.execute('[someSP].[spSomeSP]', function(err, dataset) { _.map(dataset, function(items) { console.log(items); }); }); 

_.map(...)返回的地方:

  { BET: 57635034, CUSTOMER: 181645, SPORT: 'NFL', 'XX_FILL OPEN': '<element>\r\n\t<element_type>wager_action_button</element_type>\t\r\n\t<element_name>Fill Open</element_name>\r\n\t<element_call>fillOpen(57635034)</element_call>\r\n\t<element_content></element_content>\r\n</element>', XX_VIEW: '<element>\r\n\t<element_type>betslip_selection_checkbox</element_type>\t\r\n\t<element_name></element_name>\r\n\t<element_call>addRemoveSelectionFromSlip_checkbox(1738756,0,1,1)</element_call>\r\n\t<element_content>0</element_content>\r\n</element>'} 

正如你所看到的,以XX_开头的属性具有XML属性,我想将这些XML转换成JSON。

我试过这样的东西,但它logging-1 ,我不知道为什么。

  _.map(dataset, function(items) { console.log(items.indexOf('XX')); }); 

我需要用xml2js = parseString = require('xml2js').parseString

你有什么build议?

您的indexOf被称为对象(数组)。 你需要的是对你的项目中的每个属性名称进行调用:

 _.map(dataset, function(items) { for (var item in items) { if (items.hasOwnProperty(item) && item.indexOf('XX') === 0) console.log(item, items[item]); } });