zoukankan      html  css  js  c++  java
  • 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字符串了

  • 相关阅读:
    HDU 2078 复习时间
    HDU 2076 夹角有多大
    邮票(codevs 2033)
    特种部队(codevs 1427)
    小a和uim之大逃离(洛谷 1373)
    地铁间谍(洛谷 2583)
    推销员(codevs 5126)
    小朋友的数字(codevs 3293)
    车站分级(洛谷 1983)
    Code(poj 17801)
  • 原文地址:https://www.cnblogs.com/songhuan999999/p/11393560.html
Copyright © 2011-2022 走看看