json 转义的问题
Sonder
2020-06-14
467字
1分钟
浏览 (2.6k)
问题描述:
{\"身份\":\"学生\",\"姓名\":\"张三\"}
这就是后台给的 json 原文,换种说法,也就是接口拿到的实际数据。嗯…甚至还有带\和不带的混合双打。
众所周知这是转义,但我目前所知,dart,android 用的 gson,ios 都是无法直接将它转 json 对象的。需要先经过处理,把\去掉。
但后台,一般觉得这是规范的 json
解放方法:
这不是 JSON 原文,这是把 JSON 又做了一边转义的结果。
比如
var a = "{\"身份\":\"学生\",\"姓名\":\"张三\"}"
a 的内容是什么?
是 {"身份":"学生","姓名":"张三"}
上面 var a 后面的是为了把 JSON 表示成字符串而做的一层额外转义。变量内部是没有斜线的。
所以后台要么给
"{\"身份\":\"学生\",\"姓名\":\"张三\"}"
也就是两次序列化,
要么给
{"身份":"学生","姓名":"张三"}
也就是一次序列化。
![](https://i.loli.net/2020/06/13/WPlr4MVNJE7XxmZ.png)
![](https://i.loli.net/2020/06/13/eE1zGyB2M9lUNoX.png)