json转义问题
Posted songhuan999999
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json转义问题相关的知识,希望对你有一定的参考价值。
后端程序接受前台传递过来json
1正常json没有问题 比如
"id":21,
"userName":"2张天师",
"phone":"15175220421",
"remark":"1adfadfsa",
"departMent":"1产品部",
"roleId":2
后台可以正常解析 var extraObj = JsonConvert.DeserializeObject<UpdateUserModel>(json);
或者
dynamic request = JsonConvert.DeserializeObject<DynamicDictionary>(req.Data.ToStringUtf8());
int id = (int)request.id;
string extra = request.userName;
2 前台json 中包含json对象正常 解析方法同上
"id": 21,
"extra": \"test\": 5
3前台json中包含json字符串 容易出现解析失败的问题
"id": 21,
"extra": " \"test\": 5"
由于我需要在后台代码拼接json
extra 又是一个对象
string json = " \"id\":21,\"extra\":\" +JsonConvert.SerializeObject(updateObj)+ \" "
这样拼接完后 是无法解析该json的
正确的格式应该是
string json = " \"id\":21,\"extra\":\" \\\"test\\\":5 \" "
解决方法:
JObject j = new JObject();
j.Add("id", extraObj.id);
j.Add("extra", JsonConvert.SerializeObject(updateObj));
j.ToString()就是正确的json字符串了
以上是关于json转义问题的主要内容,如果未能解决你的问题,请参考以下文章