Webから取得したjsonを解析し(https://api.coinmarketcap.com/v1/ticker/?limit=3)、名前とprice_usdを選択できるようにしようとしています。参考のために:Nodejs - Webから取得したjsonを解析します。
var url = 'https://api.coinmarketcap.com/v1/ticker/?limit=3';
var dataResponse = '';
var body = '';
function retrieveData() {
https.get(url, function(res){
body = '';
res.on('data', function(chunk) {
body += chunk;
});
res.on('end', function() {
dataResponse = JSON.parse(body);
});
}).on('error', function(e) {
console.log("Error: ", e);
});
}
retrieveData();
var temp = (dataResponse[0]);
console.log(temp);
私のようなものを取得し、名前と価格を選択できるようにすることができるようにしたい:
"id": "bitcoin",
"name": "Bitcoin",
"symbol": "BTC",
"rank": "1",
"price_usd": "16148.3",
"price_btc": "1.0",
"24h_volume_usd": "18799600000.0",
"market_cap_usd": "270147332945",
"available_supply": "16729150.0",
"total_supply": "16729150.0",
"max_supply": "21000000.0",
"percent_change_1h": "-0.28",
"percent_change_24h": "-4.64",
"percent_change_7d": "45.79",
"last_updated": "1512792553"
[
{
"id": "bitcoin",
"name": "Bitcoin",
"symbol": "BTC",
"rank": "1",
"price_usd": "16148.3",
"price_btc": "1.0",
"24h_volume_usd": "18799600000.0",
"market_cap_usd": "270147332945",
"available_supply": "16729150.0",
"total_supply": "16729150.0",
"max_supply": "21000000.0",
"percent_change_1h": "-0.28",
"percent_change_24h": "-4.64",
"percent_change_7d": "45.79",
"last_updated": "1512792553"
},
{
"id": "ethereum",
"name": "Ethereum",
"symbol": "ETH",
"rank": "2",
"price_usd": "471.833",
"price_btc": "0.0296001",
"24h_volume_usd": "2170950000.0",
"market_cap_usd": "45401368016.0",
"available_supply": "96223384.0",
"total_supply": "96223384.0",
"max_supply": null,
"percent_change_1h": "0.01",
"percent_change_24h": "9.29",
"percent_change_7d": "0.65",
"last_updated": "1512792556"
},
{
"id": "bitcoin-cash",
"name": "Bitcoin Cash",
"symbol": "BCH",
"rank": "3",
"price_usd": "1510.48",
"price_btc": "0.094759",
"24h_volume_usd": "2229320000.0",
"market_cap_usd": "25444318815.0",
"available_supply": "16845188.0",
"total_supply": "16845188.0",
"max_supply": "21000000.0",
"percent_change_1h": "0.6",
"percent_change_24h": "1.29",
"percent_change_7d": "2.64",
"last_updated": "1512792581"
}
]
ここで私が現在持っているコードです
エラーは、定義されていないログです。私は何が間違っているのか分かりません。名前をどうやって選ぶの?各ブロックを配列に分割し、それらをインデックスで選択しますか?
'retrieveData'は非同期、' 'retrieveData'が終了する前にconsole.log'が実行され – Khang
私が推薦する:これは、ように見えるだろう方法ですあなたはnode.jsでの約束と非同期/コーディングを待っています。これは通常、初心者のときに発生します。以下の答えはあなたのために働くでしょう。 –