Javascript 将字符串拆分为字符串列表
我有一个输入Json字符串,如下所示:Javascript 将字符串拆分为字符串列表,javascript,string,replace,split,substring,Javascript,String,Replace,Split,Substring,我有一个输入Json字符串,如下所示: var x= "[{\"name\":\"ahmed\",\"age\":\"26\"}, {\"name\":\"Sam\",\"age\":\"25\"}]" 我想将它拆分为{to}的字符串列表,如下所示,而不删除分隔符 var list; list[0]= {\"name\":\"ahmed\",\"age\":\"26\"} list[1]= {\"name\":\"Sam\",\"age\":\"25\"} 使用split方法会删除分隔
var x= "[{\"name\":\"ahmed\",\"age\":\"26\"},
{\"name\":\"Sam\",\"age\":\"25\"}]"
我想将它拆分为{to}的字符串列表,如下所示,而不删除分隔符
var list;
list[0]= {\"name\":\"ahmed\",\"age\":\"26\"}
list[1]= {\"name\":\"Sam\",\"age\":\"25\"}
使用split方法会删除分隔符,并且不会生成正确的格式
x= x.replace(/\[\/]/g, '/'); //to remove [ and ]
x= x.replace( /},/ ,'}\n' ); // does not split the string to list of strings
list = x; // type mismatch error since x is a string and list is array
正如Teemu在上面所评论的,使用
JSON.parse
是解析JSON的安全而正确的方法
const x=“[{\'name\':\'ahmed\',\'age\':\'26\',{\'name\':\'Sam\',\'age\':\'25\'”;
log(JSON.parse(x))代码>您可以先将其解析为JSON,然后使用map
将其列出来
var parsedX = JSON.parse(x);
var list = parsedX.map(x => JSON.stringify(x).replace(/"/g,'\\"'));
您可以使用以下代码来使用这种特定类型的json实现所需的结果:
var str = "[{\"name\":\"ahmed\",\"age\":\"26\"}, {\"name\":\"Sam\",\"age\":\"25\"}]";
var list = str.match(/[{][^{}]*[}]/gm);
alert(list)
如果您有任何问题,可以自由提问:如何使用JSON.parse解析JSON?可能重复@Teemu,非常感谢。。不知道我怎么没想到。。。