json字符串中的大括号转义传到后台_json转义问题

后端程序接受前台传递过来json

1正常json没有问题 比如

{

"id":21,

"userName":"2张天师",

"phone":"15175220421",

"remark":"1adfadfsa",

"departMent":"1产品部",

"roleId":2

}

后台可以正常解析  var extraObj = JsonConvert.DeserializeObject(json);

或者

dynamic request = JsonConvert.DeserializeObject(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字符串了

原文:https://www.cnblogs.com/songhuan999999/p/11393560.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值