RegEx 用于在 Json 字符串中获取值
RegEx for getting value inside Json String
var string = "[{"name":"person1", "city": "city1"},
{"name":"person2", "city":"city1"},
{"name":"person3", "city": "city1"}]"
如何使用正则表达式获取字符串变量的值?
结果 => ["person1", "person2", "person3"]
RegEx 用于在 Json 字符串中获取值
我必须使您的变量字符串成为此演示的valid string
。这是可以帮助您获得所需结果的代码。
使用的正则表达式:/{"name":"(.*?)"/g
捕获组(.*?)
,以仅提取所需的数据。
function getMatches(string, regex, index) {
index || (index = 1); // default to the first capturing group
var matches = [];
var match;
while (match = regex.exec(string)) {
matches.push(match[index]);
}
return matches;
}
var string = '[{"name":"person1", "city": "city1"},{"name":"person2", "city":"city1"},{"name":"person3", "city": "city1"}]';
var matches = getMatches(string, /{"name":"(.*?)"/g, 1);
// Log results
document.write(JSON.stringify(matches))
将初始字符串更改为有效的 JSON 表示法。
然后,您将能够使用JSON.parse
和Array.map
功能轻松获得一系列人员:
var string = '[{"name":"person1", "city": "city1"},{"name":"person2", "city":"city1"},{"name":"person3", "city": "city1"}]';
var persons = JSON.parse(string).map(function(v){ return v['name']; });
console.log(persons); // ["person1", "person2", "person3"]
你可能甚至不需要正则表达式。您可以使用以下代码。
var objects = JSON.parse(string); //Parse your string to JS object
var result = [];
objects.forEach(function(item,index,arr) //Iterate add to result array
{
result.push(item.name);
});
您可以使用 JSON.parse 然后映射来获取名称:
var obj = JSON.parse(string);
var names = obj.map(function(o) {
return o.name;
});
https://jsfiddle.net/xrzeg7h2/
相关文章:
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 如何从键Code;中获取字符串/字符值;
- 从输入中获取字符串,并在AngularJS中发出AJAX请求
- 从 url 获取字符串值
- 从Javascript函数获取字符串
- Javascript:获取字符串形式的对象名称
- 获取字符串中与正则表达式匹配的所有子字符串
- 获取字符串中的匹配项数组作为索引
- 我可以从类型编号中获取字符串值吗?
- 为什么我得到数组如何获取字符串
- 在 Javascript 中获取字符串中的最后一个符号时值错误
- 如何获取字符串中重复的字母
- 获取字符串中最后一个换行符的最有效方法是什么
- JQuery获取字符串的一部分
- 单击另一个锚点标记时,从锚点标记获取字符串值
- 如何从视频标记错误事件中获取字符串/消息或代码
- 如何获取字符串中元音的总数
- 从子字符串之后的字符串中获取字符串
- 从字符串原型javascript获取字符串值
- 通过 JavaScript 获取字符串中第二个空格之前和之后的子字符串