A. json格式如何读取有特殊字符的数据!内详!
json格式是{"a":"b","c":"d"},所以你从数据库读出的值如果包含{,",逗号,这类构造json格式的特内殊字符,那么就容易容破坏json数据的格式,自然无法正确读出,用replace方法替换掉特殊字符,在特殊字符前加\。
例如:String s = "a:b,c";s.replace(":","\:").replace(",","\,");
B. iOS Json解析中特殊字符串('\\')处理
需解析的JSON:
事出起因:源自公司一个接口不能解析。。。。
以下为一个技术群里的聊天记录截图:
看了这么多,我这边的处理就是:
将需要解析成json的字符串进行处理:
反正要做好预防工作,不然后台一个不小心,咱就得背锅嘿嘿嘿(没针对后台哈~~~🙊)
类似情况的文章:
https://blog.csdn.net/u014588619/article/details/50144913
https://blog.csdn.net/fallenink/article/details/53672027
...
C. JSON.parse解析特殊字符报错的解决办法
let str = JSON.stringify(arr)
str = encodeURIComponent(str)
<-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.->
arr = JSON.parse(decodeURIComponent(str)) // 再还原
《=====================================================》
JSON.stringify() : 用于将 javaScript 值转换为 JSON 字符串;
JSON.parse() :用于将一个 JSON 字符串转换为对象;
encodeURIComponent() :可把字符串作为 URI 组件进行编码,该方法不会对 ASCII 字母和数晌纤字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) ,其他字符(比如 :;/?:@&=+$,# 这链租些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制宴唤仿的转义序列替换的(链接:https://www.runoob.com/js/javascript-json-stringify.html);
decodeURIComponent() :可对 encodeURIComponent() 函数编码的 URI 进行解码(链接:https://www.runoob.com/jsref/jsref-decodeuricomponent.html)。