2

Sails フレームワーク(Express ベース)を使用してNode.jsで Web アプリを開発しており、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オブジェクト全体は次のとおりですtransloadit

前もって感謝します。

4

1 に答える 1

3

JSON の解析に問題はありません。実際、まったく問題はありません。

consol.log は出力内容の深さを制限しているため、出力に [object] が表示されます。

node.js で完全な出力を確認したい場合は、次のように inspect ユーティリティを使用します。

console.log(util.inspect( yourobject, {depth:null} ));

これにより、コンテンツ全体が印刷されます。

これは、console.log がそれを出力した単なるアーティファクトであることに注意してください。

于 2014-03-18T22:35:35.277 に答える