jQuery访问JSON对象

如何使用jQuery访问Object Literal中项目的名称?

例如,我将如何阅读“标题”,“链接”,“媒体”等内容

{ "title": "What we do in our free time...", "link": "http://www.flickr.com/photos/tnhimmies/4042938515/", "media": {"m":"http://farm3.static.flickr.com/2572/4042938515_3a00561320_m.jpg"}, "date_taken": "2009-10-24T03:48:10-08:00", "description": "

Darlene, TN Persians (www.tnpurrs.com) posted a photo:

What we do in our free time...

Tennessee Persians
www.tnpurrs.com", "published": "2009-10-25T18:28:36Z", "author": "nobody@flickr.com (Darlene, TN Persians (www.tnpurrs.com))", "author_id": "66405213@N00", "tags": "cat persian tnpurrs" },

您还可以使用$ .each函数:

 var obj = { one:1, two:2, three:3, four:4, five:5 }; $.each(obj, function(key, value) { //.. }); 

如果你使用for...in语句,我建议你检查属性是否直接驻留在正在迭代的对象上,因为如果扩展了Object.prototype,你可能会遇到一些 问题 :

 for(var key in obj) { if (obj.hasOwnProperty(key)){ // value = obj[key]; } } 
 for (var key in json) { // ... } 

(这是标准的javascript,而不是jQuery-speficic)

在你的情况下,这根本不是一个数组! 您想循环访问对象的属性。

JavaScript并不真正支持关联arrays…请参阅http://www.hunlock.com/blogs/Mastering_Javascript_Arrays

我想补充说,Zed的答案是完美的

 alert(json[key]); 

在for,如果你想知道如何获得propery的价值

谢谢

如果需要,您可以在没有每个循环的情况下访

 var obj = JSON.parse(data); var title = obj[0].title;