2017-01-16 10 views
1

トピックを再起動しました:ネストされたJSONカントプロパティの読み取り

私はちょっとダムです。問題は、私はあなたにJSONの秘密文書の原因を少しだけ示しました。 JSONは、この例のようにネストされています

"01": { 
    "titel": "json", 
    "a1": 001, 
    "a2": { 
     "b1": 002, 
     "b2": 003, 
     "b3": "b3" 
    }, 
    "a3": { 
     "c1": "c1", 
     "c2": "c2", 
     "c3": 003, 
     "c4": 004, 
     "c5": 005, 
     "c6": { 
      "d1": 001, 
      "d2": 002, 
      "d3": 003 
     } 
    }, 
    "a4": { 
     "e1": "e1", 
     "e2": "e2", 
     "e3": 003, 
     "e4": 004, 
     "e5": null, 
     "f1": { 
      "g1": 001, 
      "g2": 002, 
      "g3": 003 
     } 
    }, 
    "a5": [ 
     { 
      "h1": "h2", 
      "h2": 002, 
      "h3": 003, 
      "h4": 004, 
      "h5": 005, 
      "h6": 006, 
      "h7": 007, 
      "h8": 008, 
      "h9": 009, 
      "h10": 010, 
      "h11": -011, 
      "h12": -012, 
      "h13": -013 
     } 
    ], 
    "metaInfo": { 
     "erstellt": "2016-12-20T10:54:14.459+0000", 
     "version": "1" 
    } 
}, 

私はオブジェクト名として「01」を「18」から、この構造の18を得ました。 「キャッチされない例外TypeError:プロパティを読み取ることができません未定義の 『A5』」私は2番目のログの障害を持っコンソールで

$.getJSON('data.json', function(data) {   
console.log(data); 
console.log(data["01"].a5.h1[0]); 
}); 

:だから私は、このような単純なコードで最初から始まりました。最初のconsole.logはJSONを正しく示しています。

私の失敗はどこですか?どのようにあなたがオブジェクトキー値をループすることができますが、あなたはここで

for(key in data){do something} 
+0

を試してみてください? – Dekel

+1

JSONオブジェクトは配列ではありません。 '.length'はありません。 – Pointy

+0

"私のコードは機能しません"。どうやって?何がうまくいかない?エラーは報告されていますか? *何かが起こるか? – Pointy

答えて

1

です。これをテーブル作成で実装することができます。

function drawTable(data) { 
       for (var key in data) { 
       alert("property "+key+ " is " + data[key]); 
    } 
    } 

あなただけの場合はnullではありませんどのelemensは、どこに問題が何であるか/この

function drawTable(data) { 
     for (var key in data) { 
      if (data.hasOwnProperty(key)&& data[key]!==null){ 

      alert("property "+key+ " is " + data[key]); 
    } 
    } 
} 
0

ような何かをしなければならないforループを間違って使用している

関連する問題