jQuery从JSON数组获取数据

这是我从foursquare获得的JSON的一部分。

tips: {

count: 2,

groups: [

{

type: "others",

name: "Tips from others",

count: 2,

items: [

{

id: "4e53cf1e7d8b8e9188e20f00",

createdAt: 1314115358,

text: "najjači fitness centar u gradu",

canonicalUrl: "https://foursquare.com/item/4e53cf1e7d8b8e9188e20f00",

likes: {

count: 2,

groups: [

{

type: "others",

count: 2,

items: []

}],

summary: "2 likes"

},

like: false,

logView: true,

todo: {

count: 0

},

user: {

id: "12855147",

firstName: "Damir",

lastName: "P.",

gender: "male",

photo: {

prefix: "https://irs1.4sqi.net/img/user/",

suffix: "/AYJWDN42LMGGD2QE.jpg"

}

}

},

{

id: "4e549e39152098912f227203",

createdAt: 1314168377,

text: "ajd da vidimo hocu li znati ponoviti",

canonicalUrl: "https://foursquare.com/item/4e549e39152098912f227203",

likes: {

count: 0,

groups: []

},

like: false,

logView: true,

todo: {

count: 0

},

user: {

id: "12855147",

firstName: "Damir",

lastName: "P.",

gender: "male",

photo: {

prefix: "https://irs1.4sqi.net/img/user/",

suffix: "/AYJWDN42LMGGD2QE.jpg"

}

}

}]

}]

}

我需要获取最后的提示 ,编写它的 以及他编写/发布它的 。

用户 :达米尔·P。

日期 :1314115358

文字 :健身中心

我尝试使用 ,这可以获取非数组值:

$.getJSON(url, function(data){

var text= data.response.venue.tips.groups.items.text;

alert(text);

});

但这不适用于数组。

:未捕获的TypeError:无法读取未定义的属性“文本”。

我也尝试了 ,但没有效果。

$.getJSON(url, function(data){

$.each(data.response.venue.tips.groups.items.text, function (index, value) {

console.log(value);

});

});

我究竟做错了什么 ?

回答:

您需要迭代组和项目。$

.each()将集合作为第一个参数,并data.response.venue.tips.groups.items.text

尝试 指向一个字符串。这两个groupsitems是数组。

详细版本:

$.getJSON(url, function (data) {

// Iterate the groups first.

$.each(data.response.venue.tips.groups, function (index, value) {

// Get the items

var items = this.items; // Here 'this' points to a 'group' in 'groups'

// Iterate through items.

$.each(items, function () {

console.log(this.text); // Here 'this' points to an 'item' in 'items'

});

});

});

或更简单地说:

$.getJSON(url, function (data) {

$.each(data.response.venue.tips.groups, function (index, value) {

$.each(this.items, function () {

console.log(this.text);

});

});

});


在您指定的JSON中, 最后 一个是:

$.getJSON(url, function (data) {

// Get the 'items' from the first group.

var items = data.response.venue.tips.groups[0].items;

// Find the last index and the last item.

var lastIndex = items.length - 1;

var lastItem = items[lastIndex];

console.log("User: " + lastItem.user.firstName + " " + lastItem.user.lastName);

console.log("Date: " + lastItem.createdAt);

console.log("Text: " + lastItem.text);

});

这将为您提供:

用户:Damir P.

日期:1314168377

文字:ajd da vidimo hocu li znati ponoviti

以上是 jQuery从JSON数组获取数据 的全部内容, 来源链接: utcz.com/qa/423191.html

回到顶部