Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将字符串拆分为字符串列表_Javascript_String_Replace_Split_Substring - Fatal编程技术网

Javascript 将字符串拆分为字符串列表

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方法会删除分隔

我有一个输入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方法会删除分隔符,并且不会生成正确的格式

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,非常感谢。。不知道我怎么没想到。。。