NodeJs的XML到JSON错误:TypeError:无法读取null的属性'toString'
我正在尝试将一些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>
它logging了这个XML元素,这就是为什么我用parseString
来做这件事,
cancel = parseString(item.XX_CANCEL, function(item) {return item;});
所以,你觉得怎么样?
我需要的只是将这些XML元素转换为JSON。
看看xml2js的API,显然parseString
接受使用标准function(err, res)
formsfunction(err, res)
的callback,而使用form function(item)
。