2

ノードについて、もう 1 つ簡単な質問があります。Open Courseware 検索 API ( http://www.ocwsearch.com/api )に対して単純な http 要求を作成しようとしていますが、実際に JSON を解析する際にいくつかの問題が発生しています... 通常はそうではありません問題になりました。リクエストは文字とスラッシュをエスケープした文字列を返すので、応答文字列で置換とエスケープ解除を実行しましたが、これは「[object Object]」のようなものを返すことになります。今、私が本当にやりたいことは、最終的に返されるものを確認できるようにすることだけです。これにより、最終的に有効な JSON として解析できるかどうかを判断できます。残念ながら、これも機能していません。スタック オーバーフローに関する同様のスレッドをいくつか読みましたが、まだ機能させることができません。

私が試したこと:

  • キーと値のペアを持つものだと思ったので、渡されるオブジェクトを繰り返し処理し、毎回ログに記録します。ただし、これは文字列として出力されます。

[

o

b

... 最後まで (])

問題の返されたフォーマット済みオブジェクトとして x を指定すると、

これらはどれも機能していないようですが、すべて [object Object] を返しています。

jsfiddle でも試してみました: http://jsfiddle.net/S47QL/2/ console.log を alert に置き換えています。

私のコード:

var request = require('request');$
request('http://www.ocwsearch.com/api/v1/search.json?q=' + skill +     '&contact=http%3a%2f%2fwww.ocwsearch.com%2fabout/',$
  function(error, response, body){$
  if(!error && response.statusCode == 200){~$
      console.log(response.toString().replace(/\\\//g, "/"));$
        var x = response.toString().replace(/\\\//g, "/");$
        console.log(x)$
        console.log(x.keys());$
  }$  
});$
4

1 に答える 1

1

今、私が本当にやりたいことは、最終的に返されるものを確認できるようにすることだけです。これにより、最終的に有効な JSON として解析できるかどうかを判断できます。

次に、ブラウザ ウィンドウでリクエストを行います (Chrome を使用すると、返される実際の結果をインスペクタ タブで確認できます - F12 を押します)。

例: http://www.ocwsearch.com/api/v1/search.json?q=ios&contact=http%3a%2f%2fwww.ocwsearch.com%2fabout/

http://jsonlint.com/によると、これは返される有効な JSON です。自分の利益のために賢くなりすぎようとしているのではありませんか?

オブジェクトであるため、文字列への応答を書き込むことはできません。返されるデータが必要ですが、 body フィールドはあなたが望むことをしていると思います。印刷だけしてみましたbodyか?

于 2012-06-16T08:55:14.410 に答える