2017-11-07 8 views
-2

私はこのjson形式を持っています。jsonオブジェクトリストから値を取得

{ 
"cod":"200", 
"message":0.0027, 
"cnt":40, 
"list":[ 
     { 
     "dt":1510045200, 
     "main":{ 
       "temp":281.46 
       } 
     }, 
     { 
     "dt":.... 
     .... 
     } 
     ] 
} 

JavaScriptとAJAX要求を使用して、私はdata.list内の各オブジェクトからDTとTEMPの値を取得しようとしているが、結果なしでいます...

$.ajax({ 
     url: "", 
     type: "GET", 
     success: function (data) { 
      //number of objects in data.list array 
      var numOfObjects = data.list.length; 
      for (var i = 0; i < numOfObjects; i++){ 
       if(data.list[i].hasOwnProperty('td')){ 
        console.log(data.list[i].['td']); 
       } 
       else if(data.list[i].['main'].hasOwnProperty('temp')){ 
        console.log(data.list[i].['main'].['temp']); 
       } 
      } 
     } 
    }); 
+1

'td'の代わりに' td'をコード内で検索します。 'console.log(data.list [i]。['td']);'は余分なドットも含んでいます。 – 3Dos

+0

あなたのコードに 'tt'を' dt'に置き換えてください: 'if(data.list [i] .hasOwnProperty( 'dt'))' ..そして、あなたは – Harman

+0

@Harmanの余分なドットを取り除いた後に – mplungjan

答えて

1

あなたはする必要はありません.を配列キーの間に挿入します。

たとえば、data.list[i].['dt']が正しくない場合、data.list[i]['dt']が正しいです。

$.ajax({ 
    url: "", 
    type: "GET", 
    success: function (data) { 
     //number of objects in data.list array 
     var numOfObjects = data.list.length; 
     for (var i = 0; i < numOfObjects; i++){ 
      if(data.list[i].hasOwnProperty('dt')){ 
       console.log(data.list[i]['dt']); 
      } 
      else if(data.list[i]['main'].hasOwnProperty('temp')){ 
       console.log(data.list[i]['main']['temp']); 
      } 
     } 
    } 
}); 
+0

私たちはコメントのすべてをカバーしたと思います。回答とアップヴォートで、OPはこの「タイプミス」タイプの質問を削除できません – mplungjan

関連する問題