/ / jQueryを使用してJSONから動的なネストされたリストを作成する - javascript、jquery、json

jQueryを使用してJSONから動的なネストされたリストを作成する - javascript、jquery、json

私はこの問題を理解するのに問題があります。私はテスト目的のためにlist.jsonというファイルにこのjsonを持っています。私はこのリストを後でサーバーによって生成されるようになるでしょう。

[
{
name    : "ABC",
id      : "link_abc"
},
{
name    : "DEF",
id      : "link_def"
},
{
name    : "GHI",
id      : "link_ghi"
},
{
name    : "JKL",
id      : "link_jkl"
}

]

そして、ここにリストを表示する私のjavascript <li> フォーマット。

$(function(generate_list_from_JSON){
$("a[href="#state"]").click(function(){
$.getJSON("scripts/list.json", function (obj){
$.each(obj.name, function (key, value){
alert(key);
})
});
});
});

問題は、コンソールにも何も表示されないことです。どのように送信して何を受信するのですか? console.log() まだ空白です。

回答:

回答№1は2

JSONでは、属性名の前後に引用符が必要です。ですから、あなたは次のようなことをする必要があります:

[
{
"name"    : "ABC",
"id"      : "link_abc"
},
...
]

JavaScriptオブジェクトでは、属性名を引用符で囲む必要はありませんが、JSONでは引用符で囲む必要があります。

HTH


回答№2の場合は1

私はいくつかの問題を見る:

  • JSONオブジェクトが無効です。これはオブジェクトの配列ですが、最初の2つのオブジェクトは , JSONの文字列を引用符で囲む必要があります。
  • あなたのjavascriptコードでは、あなたが参照している obj.users、あなたの目的は、たとえそれがあっても ,ユーザーはまったくありません。

回答№3の場合は1

obj.nameでそれぞれを行うことはできません。 objは配列です。配列には "name"という名前のプロパティがないため、ループに入ることはありません。

obj [0]からobj [obj.length-1]にループするだけです。