2016-06-30 337 views
0

私はjsonを知らないのですが、私はループ文を持っています。私はただ一つのデータしか必要としません。 、私を助けてくださいif文をJSONに書き込む方法は?

function myFunction(response) { 
     var arr = JSON.parse(response); 
     var i; 
     var out = "<table>";  
     for(i = 0; i < arr.length; i++) { 
      out += "<tr><td> " + 
      arr[i].offerPercentage + 
      "</td><td>" + 
      arr[i].offerName +  
      "</td></tr>"; 
     }enter code here 
     out += "</table>"; 
     document.getElementById("id01").innerHTML = out; 
    } 
+2

どういう意味なのか説明してください。 JSONはファイル形式であり、プログラミング言語ではないため、JSONのif文には明白な意味はありません。 (ああ、 'arr [0]'はおそらく 'arr [i]'でしょう) –

+0

あなたの質問は非常に不明です。 ifステートメントをどこに追加したいのか、正確な目的は何かに関する文脈を追加できますか? JSONは言語ではありません。 JSONは、保存形式として広く使われていますが、JavaScriptでオブジェクトを表現する方法です。あなたが投稿したコードは、javascriptコードのようです。 –

答えて

-4

編集:今、それはあなたが望むものを、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]ではなく

+1

'arr.length'はプレーンなjavascriptでうまく動作しますが、解析されるjsonは配列です。投稿する前に再確認してください。あなたの答えは誤解を招く可能性があります。 –

+0

申し訳ありません@AnkitKhettryしかしあなたは間違っています。私が間違っていると言う前に私の答えを読んでください? – scottgearyau

+1

'var_name = '{{" First_name ":" Allan "、" Last_name ":" Hernandez "、" Date_of_birth ":" 1981-01-19 "、" Height ":178}、{" First_name ":" Harley "、" Last_name ":" Smith "、" Date_of_birth ":" 1988-05-21 "、" Height ":185}] ';'これは有効なjsonです。これは長さプロパティが機能します。 jsonが解析されているかどうかは、配列ではないかどうかという質問では一度も言及されていません。事実、問題のコードから、jsonが配列として解析されていることは明らかです。私が言ったように、あなたの答えは誤解を招く可能性があります。 –

関連する問題