2011-07-01 50 views
2

在阅读了一些问题之后,我仍然难以通过JSON结果进行循环。 在这里,他们是:使用jquery的JSON循环

{ 
    "data": { 
     "posts": [ 
      { 
      "Post": { 
       "id": "1", 
       "user_id": "1", 
       "title": "Test Content", 
       "created": "2011-06-30" 
       } 
      }, 
      { 
       "Post": { 
       "id": "2", 
       "user_id": "2", 
       "title": "New Test Content", 
       "created": "2011-06-30" 
       } 
      } 
     ] 
    } 
} 

如何Post.title使用$。每()我得到什么?

+4

如果您正确缩进,这将有很大帮助。 – sje397

+0

缩进完成 –

+1

@SimpleCoder - 差不多;) – sje397

回答

6
$.each(jsonObject.data.posts, function(index, val){ 
    alert(val.Post.title); //Do what you want to the title 
}); 
+0

嗨!要求答复。做你的建议是给我一个“一个未定义”的调试......它是因为它是空的? – pedrosss

+0

@pedrosss保存json数据的对象是什么? –

+0

我正在做一个$ .getJSON('url-here',函数(数据)和retreiving结果如问题中所示... – pedrosss

2

以下是使用jsFiddle的示例。

实施例的目标,以输出值:

<div id="output"></div> 

jQuery的电话对象,迭代 “职位”。

/* Create an Object from your JSON data, added based on comment about return results via URL */ 
var dataObj = JSON.parse(<put your JSON data here>); 

$.each(dataObj.data.posts, function(idx, val) { 
    /* Show ID */ 
    $('#output').append($('<p></p>').html('ID = ' + val.Post.id)); 

    /* Show Title */ 
    $('#output').append($('<p></p>').html('Title = ' + val.Post.title)); 
}); 
+0

感谢您的回答,但它返回错误,因为我不知道要放在“dataObj”,(即时通过json谷URL) – pedrosss

+0

你的结果应该是一个JSON数据,你应该使用JSON.parse()函数将数据解析为一个对象,您可以在[JSON.org](https://github.com/douglascrockford/JSON-js)上获得官方的JavaScript JSON库。 – Zachary