在JSON中访问数组和对象

时间:2019-02-04 22:51:56

标签: node.js xml get xml2js

我调用了一个get API,该API返回XML,并且我想将其转换为JSON,但是xml2js返回Elements数组中的[Object] [Circular]和[Array]。 如何查看elements数组中的内容?

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] } ] }

1 个答案:

答案 0 :(得分:0)

默认情况下,节点控制台输出会隐藏深度嵌套的对象/数组。
可以通过以下方式避免这种行为:

  • 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": {}
            }
        }
    }
}