后端程序接受前台传递过来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转义问题的更多相关文章

  1. json转义处理

    php把参数转成json字符串,中文会变成unicode,有部分会自动转义(添加反斜杠\) json_encode() #中文不转义对应的数字 256) json_encode($data,JSON_ ...

  2. 关于json转义中文

    服务器传递或者程序传递中,不识别读取到的JSON数据中 \u开头的数据. PHP 生成JSON的时候,必须将汉字不转义为 \u开头的UNICODE数据. 网上很多,但是其实都是错误的,正确的方法是在j ...

  3. angular json转义html

    第一步json输出的内容反编码 function htmldecode(s){ var div = document.createElement('div'); div.innerHTML = s; ...

  4. json转义字符串

    json前台写数据 @RequestMapping("/addUserJson") public void addUserJson(User user,HttpServletReq ...

  5. Json——转义符

    C#后台直接输出Json字符串需要反斜杠“\” context.Response.Write("[{\"Name\": \"wqx\", \" ...

  6. json转义 使用 JavaScriptSerializer 时 需要添加的引用

    当创建JavaScriptSerializer创建对象时,JavaScriptSerializer jss=new JavaScriptSerializer():时. 1.   需要添加的是Syste ...

  7. java json转义引号

    String jsonMapStr = "{\"system\":\"1,\\\"2\\\",3\",\"createD ...

  8. 正确的前端传后台json方式

    DEMO: var data=JSON.stringify({"page": {"pagenow": 1,"pagesize": 20},& ...

  9. Json数据处理协议与办法

    [JSON学习]     一.概述     JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文 本格式,是理想的数据交换格式.同时,J ...

随机推荐

  1. mov offset和lea的区别

    mov offset和lea的区别  原文地址:https://www.cnblogs.com/fanzi2009/archive/2011/11/29/2267725.html 全局变量取地址用mo ...

  2. 使用terraform v0.12 生成gitlab repo 创建部署tf 文件

      以前写过一个使用模版引擎+ rest 接口的模式,生成tf 文件,v0.12 直接提供了方便的json 处理函数 我们可以直接结合http 以及templatefile providers 方便的 ...

  3. 移动端tap事件(轻击、轻触)

    一.问题 ①移动端也有click点击事件,click点击会延迟200~300ms ②因为点击的响应过慢,影响了用户体验,所以需要解决响应慢的问题 二.解决方案 ①使用tap事件:即轻击,轻敲,响应速度 ...

  4. BootstrapTable 表格插件

    BootStrap Table 下载:https://v3.bootcss.com/getting-started/ BootStrap Table Css:https://v3.bootcss.co ...

  5. mysql 引擎类型

    innodb: 可靠的事物处理引擎,不支持全文搜索 memeory: 数据存储在内存,速度很快 myisam: 性能极高的引擎,支持全文本搜索,但不支持事物

  6. mysql 分组和排序

    mysql> select * from table1; +----------+------------+-----+---------------------+ | name_new | t ...

  7. [后渗透]Metasploit使用基础

    0x00 简介 Metasploit是一个免费的.可下载的框架,通过它可以很容易地获取.开发并对计算机软件漏洞实施攻击.它本身附带数百个已知软件漏洞的专业级漏洞攻击工具.当H.D. Moore在200 ...

  8. [Beta]第九次 Scrum Meeting

    [Beta]第九次 Scrum Meeting 写在前面 会议时间 会议时长 会议地点 2019/5/19 21:20 20min 大运村公寓6F寝室 附Github仓库:WEDO 例会照片 (一人回 ...

  9. Tomcat启动时,控制台和IDEA控制台中文乱码解决方案

    Tomcat启动时 控制台中文乱码 cmd控制台 IDEA控制台 解决方案 cmd乱码 打开Tomcat目录下的apache-tomcat-8.5.47\conf\logging.properties ...

  10. Python推荐一整套开发工具

    原文:https://sourcery.ai/blog/python-best-practices/ 在开始一个新的Python项目时,很容易不做规划直接进入编码环节.花费少量时间,用最好的工具设置项 ...