我正在尝试将一些XML转换为json
我这里有一个功能
var parseString = require('xml2js').parseString
_.map(dataset, function(items) {
return _.map(items, function(item) {
cancel = parseString(item.XX_CANCEL, function(item) {return item;});
dropdown = parseString(item.XX_VIEW, function(item) {return item;});
fillOpen = parseString(item['XX_FILL OPEN'], function(item) {return item;});
return item;
});
});
当我尝试执行它时,出现此错误
/home/mretana/Documents/Projects/capilleiraclickandgamblebackend/node_modules/mssql/node_modules/tedious/node_modules/babel-runtime/regenerator/runtime.js:493
throw exception;
^
TypeError: Cannot read property 'toString' of null
at Parser.exports.Parser.Parser.parseString ...
仅供您了解,例如,如果我删除
parseString(...)
并执行cancel = item.XX_CANCEL;
console.log(cancel)
logs ---> <element><element_type>BASIC_CHECKBOX</element_type><element_call/><element_content>1</element_content></element>
它记录该XML元素,这就是为什么我要使用
parseString
进行记录的原因,cancel = parseString(item.XX_CANCEL, function(item) {return item;});
那么,您认为这是怎么回事?
我需要做的就是将这些XML元素转换为JSON。
最佳答案
查看xml2js的API,很明显parseString
使用function(err, res)
的标准形式接受回调,而您使用的是function(item)
形式。