Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在NodeJS中解析后无法打印json值_Javascript_Json_Node.js - Fatal编程技术网

Javascript 在NodeJS中解析后无法打印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); 它工作正常,但我无法显示正确的值。在行控

下面的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);
它工作正常,但我无法显示正确的值。在行控制台上引发错误。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' } ] ]