0

我调用了一个返回 XML 的 get API,我要转换为 JSON,但是 xml2js 在元素数组中返回 [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] } ] }
4

1 回答 1

0

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

  • 带有指定depth选项的console.dir
  • 将对象转换为 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": {}
            }
        }
    }
}

于 2019-02-05T00:29:21.647 回答