2016-11-22 28 views
0

私はかなり長い間これを探していて、何も見つけられませんでした。ほとんどのガイド/ドキュメントは私が同じアプリを使っていると仮定していますが、これは事実ではありません。だから私は期待通りに配列を返すテスト呼び出しGET api.raidcore.xyz/itemsでnode.js APIを作った: Javascript {"data":[{"_id":"5834551dfa44228b52645f43","itemDesc":"lorem ipsum dolor sit amet","itemName":"test item","__v":0}]} これで、リストや何かを作るためにjst itemNameを表示したい。node.jsのjsonファイルからオブジェクトを取得する方法は?

res.on('data', function(data){ 
var json = json.parse(data); 
let name = json.itemName; 
console.log(name); 
} 

は未定義オブジェクトを返します。私がデータだけをログすると、すべてが表示されます。だから私は実際に何を見せたいのですか?あなたが別の名前すなわちparsedJsonまたはそのような何かを使用する必要がありますJSON var json = json.parse(data); に同じVAR名を使用している

+3

JSON.parse(、あなたはそれはそう、より複雑なオブジェクトを持っているJSONの一部 – Hosar

+1

を大文字にする必要がありますjson.data [0] – yBrodsky

+0

を.itemNameあなたは 'json.parse'を使う必要がありますか?それは既にjsonではありません –

答えて

2

あなたのデータは次のようになります。

{ 
    "data": [ 
    { 
     "_id": "5834551dfa44228b52645f43", 
     "itemDesc": "lorem ipsum dolor sit amet", 
     "itemName": "test item", 
     "__v": 0 
    } 
    ] 
} 

あなたのJSONオブジェクトが一つの特性がdata呼ばれています。

dataは、1つの要素を持つ配列です。

この要素は、4つのパラメータを持つオブジェクトです。

だから、あなたが望む値には、次のように用意されています。

let data = '{"data":[{"_id":"5834551dfa44228b52645f43","itemDesc":"lorem ipsum dolor sit amet","itemName":"test item","__v":0}]}'; 
let json = JSON.parse(data); 
let name = json.data[0].itemName; 
+0

ああ、私はデータが呼び出し内にあるペイロードだと思った内部はすべて実際の身体です。 –

2

あなたは大文字と小文字が区別OSのコードを使用する場合、あなたはまた、JSON.paseを使用する必要があります

関連する問題