Php Javascript:如何替换[]和“;?
我将一个数组从PHP发送到JSON,并将其发送到JavaScript值。 现在我想在逗号的Php Javascript:如何替换[]和“;?,php,javascript,regex,arrays,split,Php,Javascript,Regex,Arrays,Split,我将一个数组从PHP发送到JSON,并将其发送到JavaScript值。 现在我想在逗号的,上拆分数组。 这很好,但是当调用数组中的第一个和最后一个字符串时,我可以看到一个[,]和“ 我可以让“消失,但是[和]似乎是个问题 我现在的代码: data_array[i].replace(/["[]]/g,""); 如果将字符串值(如“[5,4,7,2,1]”从PHP传输到Javascript,则应该JSON将其解码为本机Javascript对象/数组 var receivedData = "[5,
,
上拆分数组。
这很好,但是当调用数组中的第一个和最后一个字符串时,我可以看到一个[
,]
和“
我可以让“
消失,但是[
和]
似乎是个问题
我现在的代码:
data_array[i].replace(/["[]]/g,"");
如果将字符串值(如
“[5,4,7,2,1]”
从PHP传输到Javascript,则应该JSON将其解码为本机Javascript对象/数组
var receivedData = "[5,4,7,2,1]";
receivedData = JSON.parse( receivedData );
从那时起,您可以像普通数组一样访问receivedData
您应该避开特殊角色:
data_array[i].replace(/["[\]]/g,"");
不要那样做。您应该使用JSON解析器。实际上只使用右大括号:“open:[close:]”。替换(/[“[\]]]/g,”);//“引用:打开:关闭:”
你说得对,因为特殊字符不需要在方括号中转义。ThxIf“[5,4,7,2,1]”“
是传输的字符串的样子,那么由于外部引号,它将不会被解析为数组。您的var receivedData=“[5,4,7,2,1]”
并不完全等效,因为“
语法没有成为字符串的一部分。服务器上的JSON编码似乎有一些问题需要解决。但是在那一点上,JSON.parse
肯定是一种方式……哦,等等,也许这就是你所说的JSON encode
?是PHP吗?@user1689607:是的,没错。PHP(就像几乎所有服务器端考虑的语言一样)有一个计数器将数据“编码”为JSON格式。它并没有真正编码成JavaScript,而是编码成可以解析成JavaScript的JSON。我只是有点不高兴谢谢jAndy和gion_13。你的两个工作都很好。但是jAndy的awnser在解析JSON时做得很好。但是知道替换格式是如何工作的是件好事。:)
data_array[i].replace(/["[\]]/g,"");