我在 javascript 的 ajax 响应中有一个 JSON 数组。
[{"id":1,"text":"apple"},{"id":2,"text":"mango"},{"id":3,"text":"banana"}]
ids
我想"1, 2, 3"
从这个 JSON 响应中提取一个逗号分隔的列表。我怎样才能做到这一点?
我在 javascript 的 ajax 响应中有一个 JSON 数组。
[{"id":1,"text":"apple"},{"id":2,"text":"mango"},{"id":3,"text":"banana"}]
ids
我想"1, 2, 3"
从这个 JSON 响应中提取一个逗号分隔的列表。我怎样才能做到这一点?
首先,您解析 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(','));
jsonstr
假设您的 json在您的 js 代码 中存储为字符串:
/*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);
}
}
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(','))
对这个:
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);