我正在尝试使用模块xml2js
将一些XML转换为JSON,我刚刚开始
request.execute('[someSP].[spSomeSP]', function(err, dataset) {
_.forEach(dataset, function(items) {
_.forEach(items, function(item) {
console.log('>>>>', item);
});
});
console.log('>>>>', item);
返回的地方:
{ 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_CANCEL: null }
如上所示,有些道具以XX
开头,每个以XX
开头的道具都带有XML
属性,我只需转换每个XML属性进入JSON,但当我item.indexOf('XX')
时,我得到的只是-1
那么,为了将每个道具从XX
开始以便将其转换为JSON,我应该怎么做?
答案 0 :(得分:1)
item
是一个对象。您可以将其转换为JSON,然后检查XX
:
var json = JSON.stringify(item);
console.log(json.indexOf('XX')); // 49
或者,更好的方法是,您可以遍历对象的每个属性:
for(var key in item) {
if(key.indexOf('XX') === 0) {
console.log(key);
console.log(item[key]);
}
// Or you can also check the value here...
// item[key].indexOf('XX')
}