私はこの問題を理解するのに問題があります。私はテスト目的のために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は2JSONでは、属性名の前後に引用符が必要です。ですから、あなたは次のようなことをする必要があります:
[
{
"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]にループするだけです。