fastjson 返回json字符串,JSON.parse 报错

这是由于转义字符引起的如 : \ , fastjson 处理后是双反斜杠:\\ ,而 JSON.parse 解析时需要4个反斜杠 ,即 js解析json 反斜杠时,需要 4个 解成 1 个

解决方法: 后台返回前,把处理后的json字符串再处理,所有双反斜杠 替换成 4个 :

JSON.toJSONString(list).replaceAll("\\\\", "\\\\\\\\");

    或 前端接收后处理成4个反斜杠

对于其他的其他的特殊字符 
1.双引号("),如果正确出现双引号应为\\\" 
2.\n,如想想出现正确的换行需要json字符串中是\\n,其实是先对\n中的\转义,n变成了普通字符,在解析为js对象的时候n与之前的\(只有一个\了)被解释为换行。如下的两个与此类似。 
3.\r,\\r 
4.\t,\\t

原文地址:https://www.cnblogs.com/exmyth/p/9927551.html

时间: 2024-10-10 21:47:55

fastjson 返回json字符串,JSON.parse 报错的相关文章

C# String.Format格式化json字符串中包含"{" "}"报错问题

json.Append(String.Format("{\"total\":{0},\"row\":{1}}", lineCount, strJSON));直接会报错 字符串中包含{或者},则需要用{{ 来代替字符 {,用}} 代替 }如:json.Append(String.Format("{{\"total\":{0},\"row\":{1}}}", lineCount, strJS

后台返回json字符串 页面js报错 Uncaught SyntaxError: Unexpected identifier

后台json字符串是 [{"name": "报销申请", "id": "start"}, {"name": "部门经理审批", "id": "departAudit"}, {"name": "总经理审批", "id": "bossAudit"}, {"name

Unexpected token o in JSON at position 1 报错原因

写在前面的话这个问题在之前做项目时碰到过一次,当时按照网上的做法,去掉JSON.parse()这一层转换后就没有这个报错了,数据也能正常使用,就没多想,也没深究是什么原因. 可是这次又碰到了,所以这次必须要弄明白原因. 先看看它的作用JSON.parse()用于从一个字符串中解析出json对象,如 var str = '{"name":"LeonWu","age":"18"}' JSON.parse(str); //结果为一个

【微信】微信小程序 微信开发工具中新创建的json文件,编译报错VM1781:2 pages/module/module.json 文件解析错误 SyntaxError: Unexpected end of JSON input

如果新创建报错:编译报错VM1781:2 pages/module/module.json 文件解析错误  SyntaxError: Unexpected end of JSON input 解决方法: 在JSON文件中添加 即可解决 { } 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/9076271.html

ajax请求返回json字符串/json对象 处理

1. 返回json字符串如何处理 $.ajax({ url:xxx, success:function(date){ }, error:function(){ } }); 通过最原始的返回: PrintWriter out = httpServletResponse.getWriter(): ObjectMapper mapper = new ObjectMapper(); Map map = new HashMap(); map.put("name","zz");

前端QRCode.js生成二维码(解决长字符串模块和报错问题)

QRCode 用法 1.使用npm安装到你的项目中 npm install qrcode2 --save 使用commonjs或者es6模块方式导入 var QRCode = require('qrcode2'); // 或者 import QRCode from 'qrcode2'; 3 . 实例化QRCode对象 new QRCode(document.getElementById('qrcode'), 'http://www.baidu.com'); // // 或者配置一些选项 var

小程序返回上一级页面背景音乐报错 setBackgroundAudioState:fail title is nil!;

小程序初始化在onLoad的时候加载了一次背景音乐. 如果此时报错是title必传.如果没有 会报错一次 setBackgroundAudioState:fail title is nil!; 这个都知道 但同时我们可能有这样的一个情况 我再A页面. 播放了背景音乐 然后跳到B页面.修改了某些音乐参数 再调回A页面的时候报错了 解决: 在request的回调里面设置一次. 我尝试过在外面.在onShow设置.都没用,只有在success的回调的时候才会触发 原文地址:https://www.cn

PHP“Cannot use object of type stdClass as array” (php在调用json_decode从字符串对象生成json对象时的报错)

php再调用json_decode从字符串对象生成json对象时,如果使用[]操作符取数据,会得到下面的错误 错误:Cannot use object of type stdClass as array 产生原因: +展开 -PHP $res = json_decode($res); $res['key']; //把 json_decode() 后的对象当作数组使用. 解决方法(2种):1.使用 json_decode($d, true).就是使json_decode 的第二个变量设置为 tru

使用Jackson解析首字母大写的json字符串

Jackson在解析返回的json字符串时始终报错,纠结很久之后才找到原因,原来是是由于json字符串中的字母都是首字母大写,导致jackson找不到相应的KEY. 在项目中经常使用从服务器获取的数据,有时从服务器获取的json字符串中的首字母是大写的,使用Jackson解析是就会报一下错误: Exception in thread "main" org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecogniz