如何从提到的字符串中获取逗号分隔值

时间:2013-02-08 16:36:26

标签: javascript jquery json string

我想从下面的字符串中获取逗号分隔的ID和类型。

我尝试了拆分,但需要多次拆分才能获取所需的结果。

请使用js / jquery建议一种有效的方法来获取所需的输出,例如1234,4321

var tempString=
'[{"id":"1234","desc":"description","status":"activated","type":"type","name":"NAME"},
  {"id":"4321","desc":"description1","status":"inactivated","type":"type","name":"NAME1"}]';

4 个答案:

答案 0 :(得分:3)

要获得"1234,4321",您可以

var ids = tempString.map(function(v){return v.id}).join(',');

如果您想与IE8兼容,那么您可以

var ids = $.map(tempString, function(v){return v.id}).join(',');

关注问题编辑:

如果tempString不是数组但实际上是JSON字符串,那么你可以

var ids = $.map(JSON.parse(tempString), function(v){return v.id}).join(',');

答案 1 :(得分:0)

正如所指出的,在你的例子中,这不是一个字符串。一些引号丢失了。

无论如何,请查看@dystroy的答案,但我认为您正在处理JSON对象,您应该使用json解析器(如果必须,甚至可以使用javascripts raw eval),然后将组件作为对象属性获取和数组。

查看jquery's parseJSON

答案 2 :(得分:0)

您应该使用JSON的任何Javascript解析器api将给定的字符串解码为键和后续值。正如'Miquel'所提到的,jQuery有一个

答案 3 :(得分:0)

首先关闭上面的内容不是字符串,而是一个对象数组。

BUT

如果它是一个字符串(如此)

var tempString = '[{"id":"1234","desc":"description","status":"activated","type":"type","name":"NAME"}]

[{ “ID”: “4321”, “降序”: “内容描述”, “状态”: “灭活的”, “类型”: “类型”, “名称”: “NAME1”}]';

然后你会想要使用像.match(); https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/match

var IDs = tempString.match(/([0-9] +)/ gi);