我在理解这个问题时遇到了问题。我将这个json放在一个名为list.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()
但仍然空白。
答案 0 :(得分:2)
JSON需要在属性名称周围加上引号。所以你需要做这样的事情:
[
{
"name" : "ABC",
"id" : "link_abc"
},
...
]
JavaScript对象不需要引用属性名称,但JSON可以。
HTH
答案 1 :(得分:1)
我看到几个问题:
,
分隔,JSON中的字符串应该被引用。obj.users
,您的对象即使拥有,
,也根本没有用户。答案 2 :(得分:1)
你不能在obj.name上做每一个。 obj是一个数组。数组没有名为“name”的属性,因此您永远不会进入循环。
只需将obj [0]循环到obj [obj.length-1]。