我正在使用sails框架(基于express)和node.js开发一个web应用程序,并使用第三方图像解决方案transloadit(不需要知道transloadit)。
无论如何,这不是问题所在,我能够实现transloadit表单并从他们的api接收信息。
我的问题是,transloadIt将响应作为字符串提供给我,我需要访问响应对象,所以我使用var objRes = JSON.parse(req.body.transloadit);将其解析为json对象,当我console.log(objRes);没有正确解析对象时,我得到了这样的结果:(参见这里的所有jsonhttps://gist.github.com/kevinblanco/9631085

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

我需要thumb数组中的数据,我的问题是,解析时为什么要这样做?
这里是整个requestreq.body对象:https://gist.github.com/kevinblanco/9628156正如您所看到的,transloadit字段是一个字符串,我需要它们的一些字段中的数据。
提前谢谢。

最佳答案

JSON的解析没有问题——事实上根本没有问题。
log consol.log限制了打印内容的深度,这也是您在输出中看到[对象]的原因。
如果您想在node.js中看到完整的输出,那么只需像这样使用inspect实用程序;
console.log(util.inspect(yourobject,{depth:null}));
这将打印出全部内容。
注意,这只是console.log打印它的一个工件。

09-11 17:41