ノードについて、もう 1 つ簡単な質問があります。Open Courseware 検索 API ( http://www.ocwsearch.com/api )に対して単純な http 要求を作成しようとしていますが、実際に JSON を解析する際にいくつかの問題が発生しています... 通常はそうではありません問題になりました。リクエストは文字とスラッシュをエスケープした文字列を返すので、応答文字列で置換とエスケープ解除を実行しましたが、これは「[object Object]」のようなものを返すことになります。今、私が本当にやりたいことは、最終的に返されるものを確認できるようにすることだけです。これにより、最終的に有効な JSON として解析できるかどうかを判断できます。残念ながら、これも機能していません。スタック オーバーフローに関する同様のスレッドをいくつか読みましたが、まだ機能させることができません。
私が試したこと:
- キーと値のペアを持つものだと思ったので、渡されるオブジェクトを繰り返し処理し、毎回ログに記録します。ただし、これは文字列として出力されます。
[
o
b
... 最後まで (])
問題の返されたフォーマット済みオブジェクトとして x を指定すると、
- "" + x、toString() を使用して、文字列に変換しようとします
- using console.log("%j", x) に従ってNode.js で JSON オブジェクトのコンテンツをログに記録するにはどうすればよいですか?
これらはどれも機能していないようですが、すべて [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());$
}$
});$