Javascript 在NodeJS中解析后无法打印json值
下面的NodeJS代码尝试将xml文档转换为json,然后对其进行解析Javascript 在NodeJS中解析后无法打印json值,javascript,json,node.js,Javascript,Json,Node.js,下面的NodeJS代码尝试将xml文档转换为json,然后对其进行解析 var fs = require('fs'); var parse = require('jsonml').parse; var jsonML = parse(fs.readFileSync('myfile.xml')); var jsondata = JSON.parse(jsonML); console.log(jsondata.BESAPI.Computer[0].ID); 它工作正常,但我无法显示正确的值。在行控
var fs = require('fs');
var parse = require('jsonml').parse;
var jsonML = parse(fs.readFileSync('myfile.xml'));
var jsondata = JSON.parse(jsonML);
console.log(jsondata.BESAPI.Computer[0].ID);
它工作正常,但我无法显示正确的值。在行控制台上引发错误。logjsondata.BESAPI.Computer[0]。ID
我试图在json对象中显示每台计算机的ID
Json对象
{
"BESAPI": {
"-xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
"-xsi:noNamespaceSchemaLocation": "BESAPI.xsd",
"Computer": [
{
"-Resource": "api/computer/2431038",
"LastReportTime": "Thu, 26 Feb 2015 14:54:41 +0000",
"ID": "2431038"
},
{
"-Resource": "api/computer/16710075",
"LastReportTime": "Thu, 26 Feb 2015 14:45:18 +0000",
"ID": "16710075"
},
{
"-Resource": "api/computer/3415985",
"LastReportTime": "Thu, 26 Feb 2015 14:50:52 +0000",
"ID": "3415985"
}]
}
}
我得到这个错误:
如果没有原始XML,我无法确定发生了什么,但可以帮助您进行进一步的调查 对于类似XML的
<?xml version="1.0"?>
<BESAPI>
<Computer ID="api/computer/2431038"></Computer>
<Computer ID="api/computer/16710075"></Computer>
</BESAPI>
这与您提供给我们的JSON不相似,但尝试解析它时会出现错误
因此,我猜测jsonML的输出不是可解析的JSON,而是一个嵌套的排序数组。您会遇到什么错误?如果无法打印JSON,您如何知道JSON是什么样子?@SLaks我已经附上了错误消息。@onlygusti当然我尝试了console.logjsondata来知道它打印了什么数据。@user3846091所以它应该打印出来[Object Object],而不是上面的json。
[ 'BESAPI',
[ 'Computer', { ID: 'abc123' } ],
[ 'Computer', { ID: 'def987' } ] ]