-1
私はD3でJSONをロードするので、同じように行われ、これによりエラーが発生しないことを認識しています:このブロック内D3を使用してこのJSONデータにアクセスするにはどうすればよいですか?
d3.json("sample_data/unique_items.json", function(json) {
// do something
});
、私はその後、json
変数を使用してJSONファイルを参照します。
{
"unique_items": [
{
"name": "Blah",
"items": [
{"id": 1, "note": "blah"},
{"id": 2, "note": "blah blah"},
{"id": 3, "note": "blah blah blah"}
]
},
{
"name": "Blah2",
"items": [
{"id": 1, "note": "blah"},
{"id": 2, "note": "blah blah"},
{"id": 3, "note": "blah blah blah"}
]
}
]
}
この構造のアイテムにアクセスする方法には苦労しています。例えば、私はテストとしてこれを試しました:
for (var item in json["unique_items"]) {
if (json["unique_items"].hasOwnProperty(item)) {
console.log(item["name"]); // 'undefined' error on this line
}
}
上記のようにコメントされた行には、定義されていないエラーが発生します。私は、コンソールでこれを見ると期待する:私はconsole.log(item.name);
にその行を変更しようとしたが、それは同じエラーを生成
Blah
Blah2
。私は単にconsole.log(item);
に変更し、コンソールへの出力は0
でした。私はこれを理解していない。
だから私の質問は以下のとおりです。
- 私は
unique_items
内の要素にアクセスするにはどうすればよいですか? - jsonの構造を改善する方法はありますか?
を試してみてください!私はその後何が起こったのかを見る。最初の反復は配列(0)のインデックス/位置を取得するだけですが、配列内のインデックスによってその項目にアクセスするためにはそれを使用する必要があります。ありがとうございました! – Dan
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...ofで..の代わりに.. of ..の代わりに使用した場合、あなたは正しいアイデアを得ました。 –