我構建了一個簡單的請求函數來從Yahoo Finance API獲取JSON,但是無法從JSON中提取數據。如何使用node.js從Yahoo Finance JSON中提取數據?
這裏是我的功能
var request = require("request");
var stock_url = "http://finance.yahoo.com/webservice/v1/symbols/FB/quote?format=json&view=%E2%80%8C%E2%80%8Bdetail";
request(stock_url, function (error, response, body) {
if (!error && response.statusCode == 200) {
var stock_data = body;
console.log("Yahoo Finance API: ", stock_data)
var stock_price = stock_data.list.resources[0].resource.fields.price;
console.log("stock_price: ", stock_price);
};
});
的JSON返回存儲在var stock_data
成功,然後我嘗試用var stock_price = stock_data.list.resources[0].resource.fields.price
提取「價格」的數據,但我得到一個類型錯誤:未定義無法讀取屬性「資源」。
下面是JSON,我試過var stock_price
的多個衍生產品,沒有運氣。任何幫助深表感謝。
{
"list": {
"meta": {
"type": "resource-list",
"start": 0,
"count": 1
},
"resources": [
{
"resource": {
"classname": "Quote",
"fields": {
"name" : "Facebook, Inc.",
"price" : "116.620003",
"symbol" : "FB",
"ts" : "1465588800",
"type" : "equity",
"utctime" : "2016-06-10T20:00:00+0000",
"volume" : "18510826"
}
}
}
]
}
}
需要首先從字符串 – charlietfl
解析它,當你做下一個代碼'console.log(typeof body)'什麼打印? –
@DanielKrom字符串被打印。解析它到一個對象工作。謝謝charlietfl – CBar