访问 JSON 中的数组和对象

Access Array and Object inside JSON

我调用了 get API,其中 returns XML 并且我要转换为 JSON,但是 xml2js returns [Object] [Circular]和元素数组中的 [Array]。 如何查看元素数组中的内容?

var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;

var convert = require('xml-js');
var request = new XMLHttpRequest();
request.open("GET", url, true, username, password);

request.withCredentials = true;

request.send();
request.onreadystatechange=(e)=>{

    var obj = convert.xml2js(request.responseText);

console.log(obj);

这是输出:

{ declaration:
    { attributes: { version: '1.0', encoding: 'UTF-8', standalone: 'yes' } },
   elements:
     [ { type: 'element',
         name: 'model-response-list',
         attributes: [Object],
         elements: [Array] } ] }

节点控制台输出默认隐藏深层嵌套objects/arrays。
可以通过以下方式避免此行为:

  • console.dir 具有指定的 depth 选项
  • 将对象转换为 JSON 字符串
> var obj = { a: { b: { c: { d: {} } } } };

> console.log(obj);
{ a: { b: { c: [Object] } } }

> console.dir(obj, { depth: null }); // null for unlimited recursion
{ a: { b: { c: { d: {} } } } }

> console.log(JSON.stringify, null, 4); // JSON.stringify can also format input with white spaces (in this case - 4)
{
    "a": {
        "b": {
            "c": {
                "d": {}
            }
        }
    }
}