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字符串了

  • 相关阅读:
    Java 课程设计:LWZ
    回溯法解骑士巡游问题
    2021.3.30 错误2
    2021.3.29 关于上下滚动
    2021.3.28 WebView的用法
    2021.3.27 关于错误1
    2021.3.26 Python创建表
    2021.3.25 人月神话阅读笔记06
    2021.3.24 个人作业第三阶段1
    2021.3.23 个人作业第三阶段
  • 原文地址:https://www.cnblogs.com/songhuan999999/p/11393560.html
Copyright © 2011-2022 走看看