Проблема с JSON.parse, не знаю почему не все разбирает

Я разрабатываю веб-приложение с Node.js, используя платформу Sails (на основе Express), и использую стороннее решение для работы с изображениями под названием Transloadit (нет необходимости знать Transloadit).

В любом случае, это не проблема, я смог реализовать форму Transloadit и получить информацию от их API.

Моя проблема в том, что Transloadit дает мне ответ в виде строки, и мне нужно получить доступ к объектам ответа, поэтому я использую var objRes = JSON.parse(req.body.transloadit); разобрать его в объект JSON, и когда я console.log(objRes); объект не анализируется правильно, я получаю это: (см. все JSON здесь https://gist.github.com/kevinblanco/9631085)

{
    a bunch of fields here ..... 
    last_seq: 2,
    results: {
        thumb: [
            [
                Object
            ]
        ]
    }
}

И мне нужны данные из thumb массив, мой вопрос: почему это делается при разборе?

Вот весь запрос req.body Объект: https://gist.github.com/kevinblanco/9628156 как вы можете видеть transloadit Поле представляет собой строку, и мне нужны данные из некоторых их полей.

Заранее спасибо.

1 ответ

Решение

В синтаксическом анализе JSON нет ничего плохого - на самом деле проблем нет вообще.

consol.log ограничивает глубину печати, поэтому вы видите [объект] в выводе.

Если вы хотите увидеть полный вывод в файле node.js, просто используйте утилиту inspect, подобную этой;

console.log (util.inspect (yourobject, {глубина: ноль}));

и это напечатает весь контент.

Обратите внимание, что это всего лишь артефакт печати из console.log.

Другие вопросы по тегам