① JSON解析错误,出现双引号,反斜杠处理办法
首先json 对象一定是 大括号{ 开始 ,大括号}结束
int i = jsonString.indexOf("{");
jsonString = jsonString.substring(i);处理前部分
int j = jsonString.lastIndexOf("}");
jsonString = jsonString.substring(i-1,j+1);处理前后部分
jsonString = jsonString.replaceAll("\\\\",""); 处理反斜杠
//可以通过解析方法解析json字符串了,不过处理过程每一步最好打印校验下,没问题就解析成JSONObject
这里我用的 cn.hutool.json.JSONUtil 来解析的、
② prototype.js影响了json转数组携带反斜杠
是的,prototype.js影响了json转数组携带反斜杠。prototype.js是一个JavaScript库,它提供了一种简单的方法来扩展JavaScript功能,以便在Web应用程序中使谨明锋用。它提供了一种简单的方法来扩展JavaScript功能,以便在Web应用程序中使用。它提供了一种简单的方法来处理JSON字符串,以便将其转换为JavaScript对象,从而使它们可以更容易地处理。但是,祥晌prototype.js会影响JSON转换数组时携带反斜杠的行为,因为它槐笑会把反斜杠转换为特殊字符,从而导致转换失败。因此,在使用prototype.js时,应该避免使用反斜杠,以免出现转换失败的情况。
③ 为什么JSON字符串当中会出现反斜杠
相信很多小伙伴在使用json的过程中,会发现有时候json中会出现反斜杠,是不是很奇怪这个问题?
我使丛搜用的渗伍历fastjson。
通过下面的小例子来看下:
执行结果:
分析:
1)首先我们组装一个map
2)将map进行序列化进行输出,发现没有问题
3)将map进行序列化,再次进行序列化,发现反斜杠出现了
总结:
其实就是我橘衡们对map或者对象进行了两次的序列化。说白了就是进行了两次的toJSONString。
④ 前端 ajax 到后台的 json数据 有反斜杠
用stripslashes函数处理一下就可以
$str = stripslashes($_POST['json']);