我有一个这样的JSON数组:
{ "forum":[ { "id":"1","created":"2010-03-19 ","updated":"2010-03-19 ","user_id":"1","vanity":"gamers","displayname":"gamers","private":"0","description":"All things gaming","count_followers":"62","count_members":"0","count_messages":"5","count_badges":"0","top_badges":"","category_id":"5","logo":"gamers.jpeg","theme_id":"1" } ] }
我想使用jQuery .getJSON能够返回每个数组值的值,但我不确定如何访问它们。
到目前为止我有这个jQuery代码:
$.get('forums.PHP',function(json,textStatus) { //optional stuff to do after success alert(textStatus); alert(json); });
我该怎么用jQuery?
解决方法
JSON中的{}表示一个对象。每个对象的属性用键:值和逗号分隔来表示。属性值可以通过使用像json.forum这样的句号操作符的键访问。 JSON中的[]表示一个数组。数组值可以是任何对象,值是逗号分隔。要迭代数组,请使用带索引的标准for循环。要迭代对象的属性,而不直接通过键引用它们,您可以使用in循环:
var json = {"forum":[{"id":"1","theme_id":"1"}]}; var forum = json.forum; for (var i = 0; i < forum.length; i++) { var object = forum[i]; for (property in object) { var value = object[property]; alert(property + "=" + value); // This alerts "id=1","created=2010-03-19",etc.. } }
如果你想这样做,jQueryish的方式,抢$.each()
:
$.each(json.forum,function(i,object) { $.each(object,function(property,value) { alert(property + "=" + value); }); });
我使用与“纯JavaScript”相同的变量名,以便您能更好地了解jQuery在“引擎盖”下的作用。希望这可以帮助。