Доступ к массиву и объекту внутри JSON - PullRequest
0 голосов
/ 05 февраля 2019

Я вызываю get API, который возвращает XML, и я должен был преобразовать в 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] } ] }

1 Ответ

0 голосов
/ 05 февраля 2019

Вывод консоли узла по умолчанию скрывает глубоко вложенные объекты / массивы.Этого поведения можно избежать с помощью:

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

...