1

我有一个 jquery json 对象,例如:

{"meta":{"limit":20,"next":null,"offset":0,"previous":null,"total_count":2},
"objects":[
{"body":"Body 1","date":"2013-01-15},
{"body":"Body 2","date":"2013-02-25}
 ]}

我想显示循环数据:

body 1, date
body 2, date
4

5 回答 5

2

试试这个

var data= "yourjson";
$.each(data.objects,function(i,v){ 
    alert(v.body);
      alert(v.date);
});

不得不纠正 json 中的一些问题 .. 就像丢失了"......所以请检查小提琴。

在这里摆弄

于 2013-03-04T13:39:08.227 回答
2

首先,您的 JSON 无效。日期后缺少括号。这是一个有效的 JSON:

var json = {"meta":{"limit":20,"next":null,"offset":0,"previous":null,"total_count":2},
"objects":[
{"body":"Body 1","date":"2013-01-15"},
{"body":"Body 2","date":"2013-02-25"}
]};

请注意 '2013-01-15' 和 '2013-02-25' 之后的 " 符号。

您可以使用JQuery 的 .each()显示“正文”和“日期” :

$.each(json.objects, function (index, obj) {
  console.log(obj.body + " " + obj.date);
});
于 2013-03-04T13:40:14.860 回答
1

您需要先修复您的 json,因为它是无效的,因为您没有使用 "

{
    "meta": {
        "limit": 20,
        "next": null,
        "offset": 0,
        "previous": null,
        "total_count": 2
    },
    "objects": [
        {
            "body": "Body 1",
            "date": "2013-01-15"
        },
        {
            "body": "Body2",
            "date": "2013-02-25"
        }
    ]
}

那么这样的事情应该可以工作

  $.each(data.objects[0],function(i,v){ 
        alert(v.body+" - "+v.date);
    } 
于 2013-03-04T13:41:16.753 回答
1
var data = {"meta":{"limit":20,"next":null,"offset":0,"previous":null,"total_count":2},
    "objects":[
        {"body":"Body 1","date":"2013-01-15"},
        {"body":"Body 2","date":"2013-02-25"}
 ]};

for(var i = 0; i < data.objects.length; i++){
    alert(data.objects[i].body);
    alert(data.objects[i].date);
}
于 2013-03-04T13:43:04.757 回答
0

JSON 对象就像键值对。

假设整个 JSON 对象在变量中,data然后要读取内容,请执行以下操作。

meta是一个object包含不同的数据,所以要阅读limitnext其他的你必须使用data.meta.limit等等。

现在objectsarray其中有不同对象的类型。

所以要读取body,执行data.objects[0].body等等。

于 2013-03-04T13:40:48.243 回答