【发布时间】:2016-03-04 23:30:37
【问题描述】:
我已经使用 xml2js 解析器来解析 node.js 中的 xml 文件。它正在成功解析xml。但现在我想解析 json 或识别 json 中的特定数据。
我的 node.js 代码
var fs = require('fs');
var parseString = require('xml2js').parseString;
var xml = 'C:\\temp\\Masters.xml';
var fileData = fs.readFileSync(xml,'utf8');
parseString(fileData, function (err, result) {
console.log(JSON.stringify(result));
var json = JSON.stringify(result);
var jsonObj = JSON.parse(json);
for (var key in jsonObj) {
console.dir(key + ": " + jsonObj[key].Customer_Name);
}
});
在控制台输出中:
'Masters: undefined'
Json 数据:
'{"Masters":
{
"Customer":
[
{"Customer_Name":["Kim"],
"Customer_Code":["c86"],
"Date":["23-11-15"],
"Address":["Narhe"],
"City":["Pune"],
"State":["Maharashtra"],
"TIN":["3365670"],
"PAN_Number":["AAAAA1111a"],
"Mobile_Number":["8999000090"],
"Email_ID":["amitshirke@gmail.com"],
"Contact_Person":["Anish"],
"Opening_Balance":["0"] },
{"Customer_Name":["Ankit"],
"Customer_Code":["c87"],
"Date":["12-04-15"],
"Address":["Narhe"],
"City":["Pune"],
"State":["Maharashtra"],
"TIN":["336567"],
"PAN_Number":["AAAAA1111p"],
"Mobile_Number":["8900000000"],
"Email_ID":["amitshirke1@gmail.com"],
"Contact_Person":["Anuj"],
"Opening_Balance":["0"] }
]
}
}'
在上述数据中,Masters 是根元素(对象),Customer 是另一个嵌套对象,并且有两个客户。那么如何访问客户名称或如何使用 for 循环访问相同的名称?。
提前致谢。
【问题讨论】:
-
哦,对不起。但在这种情况下,我如何访问客户姓名或任何其他数据。