次のコードを使用して、WebサイトからAPIを呼び出しました。 document.getElementById( "結果")の最初の行にJavascriptがJSONデータを読み取ることができません
function example(){
// Call the callApi function to create a usable
// object named apiObject from the API request URL.
// Put the API request URL in the call
callApi(
'http://summary.ekmmetering.com/summary?meters=10068&key=MTAxMDoyMDIw&format=json&reports=15&limit=1&fields=kWh_Tot*',
function(apiObject){
// This just displays the object in the result div
// you can use what ever code you would like to work
// with the object here
var JSONOBJ = JSON.stringify(apiObject, null, 4)
//document.getElementById("result").innerHTML = JSONOBJ;
document.getElementById("meterVal").innerHTML = JSONOBJ.kWh_Tot_Min;
}
);
};
。innerHTMLの= JSONOBJ、出力は以下の通りです。
[
{
"Start_Time_Stamp_UTC_ms":1486924437363,
"End_Time_Stamp_UTC_ms":1486925099387,
"End_Date":"Sun Feb 12 2017 18:44:59 GMT+0000 (GMT)",
"Start_Date":"Sun Feb 12 2017 18:33:57 GMT+0000 (GMT)",
"Meter":10068,
"Protocol":"v3",
"Count":663,
"rejected_bad":0,
"rejected_duplicates":0,
"kWh_Tot_DeltaMin":0,
"kWh_Tot_DeltaMax":0.1,
"kWh_Tot_Min":127009.1,
"kWh_Tot_Max":127009.8,
"kWh_Tot_Diff":0.7
}
]
私はコード
document.getElementById("meterVal").innerHTML = JSONOBJ.kWh_Tot_Min;
の2行を使用した後しかし、これは、代わりに出てきます。
undefined
適切な値を取得するために必要なことは、127009.1ですか?
'JSONOBJ'は' [] 'による配列なので、' JSONOBJ [0] .kWh_Tot_Min; 'ではないでしょうか? – Mikey
私はJSONOBJが配列ではないと信じています。これはJSON形式で、サーバーに送信するものと同じです。 JSON.parseを使用して配列に戻すことができます。 apiObject [0] .kWh_Tot_Minを試してみてください –