2016-11-22 65 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); 
} 

返回未定義的對象。如果我單獨記錄數據,它會顯示一切正常。那麼我如何選擇我想要展示的內容呢?

+3

JSON.parse(應大寫JSON部分 – Hosar

+1

你有一個更復雜的對象似乎json.data [0] .itemName – yBrodsky

+0

你需要使用'json.parse',是不是它已經是一個json –

回答

2

你的數據是這樣的:

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

你的JSON對象一個屬性叫做data

data是一個包含一個元素的數組。

該元素是一個具有四個參數的對象。

所以,你想要的值都可以是這樣的:

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

您對JSON var json = json.parse(data); 你應該使用不同的名稱即parsedJson或類似的東西,你也應該使用JSON.pase如果你打算使用代碼區分大小寫OS

使用相同的變量名稱