从JSON字符串中提取值的JavaScript方法

6

我正在使用select2中的多选元素来输入多个“标签”。当我想要获取元素的值时,我会得到类似于这样的结果(对于我在框中输入的tag1和tag2):

[{"id":"tag1","text":"tag1"},{"id":"tag2","text":"tag2"}] 

我怎么从类似以下的数组中获取文本结果:

[0] = "tag1"
[1] = "tag2"

我如何反转这个过程?


1
可能是访问/处理(嵌套)对象、数组或JSON的重复问题。 - Felix Kling
3个回答

9
这里有另一种方法。
[{"id":"tag1","text":"tag1"},{"id":"tag2","text":"tag2"}].map(function(el) {
 return el.id;
});

使用 map(),这是一种很好的方法,可以将 id 返回到一个数组中。 - Praveen
当然可以,如果它被支持的话 ;) - nullpotent

6
尝试使用这个简单的迭代方法。
var obj = [{"id":"tag1","text":"tag1"},{"id":"tag2","text":"tag2"}] ;

for (var i =0; i< obj.length ;i++) {
   console.log(obj[i].id);
}

1
var data = JSON.parse('[{"id":"tag1","text":"tag1"},{"id":"tag2","text":"tag2"}] ');
data[0].id
data[1].id

试试这个会帮助你


2
这并不能实现OP所要求的功能。OP需要一个编程解决方案,而不是直接查询。这在1000个对象数组中不起作用。 - whoisjuan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接