xml到json上的Nodejs错误:TypeError:无法读取属性' toString'为null

时间:2015-09-12 00:09:03

标签: javascript node.js

我正在尝试将一些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。

1 个答案:

答案 0 :(得分:1)

查看xml2js的API,很明显parseString使用标准格式的function(err, res)接受回调,而您使用的格式为function(item)