我在javascript中的ajax响应中有一个JSON数组。
[{"id":1,"text":"apple"},{"id":2,"text":"mango"},{"id":3,"text":"banana"}]
我想从此JSON响应中提取逗号分隔的ids
列表,如"1, 2, 3"
。我怎么能这样做?
答案 0 :(得分:3)
首先,您解析JSON(如果您还没有这样做):
var arr = JSON.parse('[{"id":1,"text":"apple"},{"id":2,"text":"mango"},{"id":3,"text":"banana"}]');
然后循环数组以提取每个对象的id。您可以使用map
数组方法循环并一次性将ID添加到新数组中:
var ids = arr.map(function(item) {
return item.id;
});
alert(ids.join(','));
答案 1 :(得分:1)
假设您的json在js代码中存储为字符串jsonstr
:
/*parse the JSON to a JS object*/
var data = JSON.parse(jsonstr);
var ids = [];
for(var i=0; i<data.length; i++){
//loop over the array and if the id is defined add it
if(typeof data[i].id !== "undefined"){
ids.push(data[i].id);
}
}
答案 2 :(得分:0)
var a = [{
"id": 1,
"text": "apple"
}, {
"id": 2,
"text": "mango"
}, {
"id": 3,
"text": "banana"
}];
var ar = [];
for (var i = 0; i < a.length; i++) {
ar.push(a[i].id);
}
alert(ar.join(','))
答案 3 :(得分:-1)
关于这个:
x = [{"id":1,"text":"apple"},{"id":2,"text":"mango"},{"id":3,"text":"banana"}];
str = "";
for(i=0;i<x.length;i++)
{
str += x[i].id.toString() + ',';
}
str = str.substring(0, str.length - 1);
console.log(str);