編集:今、それはあなたが望むものを、1つだけのアイテムをループに、あなたが反復する時間の量を変える明確だと - 現在、それは配列全体を反復し、
function myFunction(response) {
var arr = JSON.parse(response);
var i;
var out = "<table>";
for(i = 0; i < 1; i++) {
out += "<tr><td> " +
arr[0].offerPercentage +
"</td><td>" +
arr[0].offerName +
"</td></tr>";
}
out += "</table>";
document.getElementById("id01").innerHTML = out;
}
か、単に直接最初の結果を参照すると、より理にかなってループを回避できます:
だけに(あなたが表示したいか、しかし多くの項目)1つの変更の上に
1
から
arr.length
を繰り返します
function myFunction(response) {
var arr = JSON.parse(response);
var i;
var out = "<table>";
// Only append if `arr` has at least one result.
if (typeof arr[0] !== 'undefined') {
out += "<tr><td> " +
arr[0].offerPercentage +
"</td><td>" +
arr[0].offerName +
"</td></tr>";
}
out += "</table>";
document.getElementById("id01").innerHTML = out;
}
旧回答:JavaScriptで オブジェクトが.length
性質を持っていません。
for (var offer in arr) {
// `offer.offerPercentage` and `offer.offerName` will be available here.
}
が実際配列で返されているもの、あなたの問題はあなたの構文でない場合は、それはあなたがarr[0]
を使用しているという事実があります:オブジェクトをループする
は、
for...in
構文を使用します。各ループは
arr[i]
ではなく
どういう意味なのか説明してください。 JSONはファイル形式であり、プログラミング言語ではないため、JSONのif文には明白な意味はありません。 (ああ、 'arr [0]'はおそらく 'arr [i]'でしょう) –
あなたの質問は非常に不明です。 ifステートメントをどこに追加したいのか、正確な目的は何かに関する文脈を追加できますか? JSONは言語ではありません。 JSONは、保存形式として広く使われていますが、JavaScriptでオブジェクトを表現する方法です。あなたが投稿したコードは、javascriptコードのようです。 –