如何从提到的字符串中提取逗号分隔的值
How to fetch comma separated values from mentioned 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"}]';
要获得"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(',');
如前所述,在您的示例中,这不是字符串。缺少一些引号。
无论如何,看看@dystroy的答案,但我认为您正在处理JSON对象,您可能应该使用JSON解析器(如果必须的话,甚至可以使用javascripts原始eval),然后将组件作为对象属性和数组获取。
查看jquery的parseJSON
您应该使用任何用于JSON的Javascript解析器api将给定字符串解码为键和后续值。正如"Miquel"所提到的,jQuery有一个
首先,上面的不是字符串,而是对象数组。
但是
如果它是一个字符串(像这样)
var tempString = '[{"id":"1234","desc":"description","status":"activated","type":"type","name":"NAME"}]
[{"id":"4321","desc":"description1"、"status":"inactivated"、"type":"type"、"name":"NAME1"}]';
然后你会想要使用类似.match();https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/match
var ID=tempString.match(/([0-9]+)/gi);
相关文章:
- 在数据提取完成之前进行页面渲染
- javascript函数内部的代码用逗号而不是分号分隔
- 如何在Javascript中从字符串中提取某些单词
- RegEx JavaScript:数字后的符号提取
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- Regex提取URL返回数组的一部分;未定义”;
- 如何提取“;href"最近列表项中的属性值
- 可以't用回车符分隔那个字符串
- 使用时刻.js从日期时间中提取时间
- 通过javascript从会话中提取用户名
- HTML页面如何提取通过表单传递的参数
- 是否可以自动拉取“随机”;标签“;从一长串文本中提取
- innerHTML的子字符串可以在初始调用时提取吗
- 如何使用phonegap从安卓设备中提取联系人的字母顺序
- 如何从特定页面中提取php变量值
- 如何从由“”分隔的字符串中提取最后一个文本|&”;
- 使用 javascript 从由管道分隔的字符串中提取键和值
- 提取逗号分隔字符串中的任何单词
- Regex:从管道分隔文件中提取字符串
- 如何从提到的字符串中提取逗号分隔的值