使用JSON.parse将json字符串转换成json对象的时候会出错


Posted in Javascript onSeptember 04, 2014

在对数据库取出来的数据(特别是描述信息)里面含有特殊字符的话,使用JSON.parse将json字符串转换成json对象的时候会出错,主要是双引号,回车换行等影响明显,左尖括号和右尖括号也会导致显示问题,所以要在输出到页面进行json对象转换之前将一些特殊符合进行编码或转义,下面展示的是C#代码编码和转义几个常用特殊字符。经过笔者测试,将这些符号编码和转义之后,大部分json字符串都可以转换成json对象了。如果遇到个别问题,应朝着这个方向去查找问题。

theString = theString.Replace(">", ">"); 
theString = theString.Replace("<", "<"); 
theString = theString.Replace(" ", " "); 
theString = theString.Replace("\"", """); 
theString = theString.Replace("\'", "'"); 
theString = theString.Replace("\\", "\\\\");//对斜线的转义 
theString = theString.Replace("\n", "\\n"); 
theString = theString.Replace("\r", \\r);

注意:\r是回到行首,\n是新启一行,这两个一般同时出现,应该同时处理。

补充:文字中间的换行,空格在数据库里面不以\r\n, ;等形式显示出来(“本书”与“前80”之间换行,“由”与“曹雪芹”之间空格)

文字:

使用JSON.parse将json字符串转换成json对象的时候会出错

数据库:

使用JSON.parse将json字符串转换成json对象的时候会出错

Javascript 相关文章推荐
javascript操作cookie的文章(设置,删除cookies)
Apr 01 Javascript
JavaScript 通过模式匹配实现重载
Aug 12 Javascript
div模拟滚动条效果示例代码
Oct 16 Javascript
node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用
Nov 04 Javascript
18个非常棒的jQuery代码片段
Nov 02 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
Sep 01 Javascript
解析javascript图片懒加载与预加载的分析总结
Oct 27 Javascript
关于Vue.nextTick()的正确使用方法浅析
Aug 25 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
Jul 13 jQuery
浅谈layui分页控件field参数接收对象的问题
Sep 20 Javascript
JavaScript this在函数中的指向及实例详解
Oct 14 Javascript
基于JavaScript实现控制下拉列表
May 08 Javascript
jQuery之Deferred对象详解
Sep 04 #Javascript
Javascript Objects详解
Sep 04 #Javascript
加随机数引入脚本不让浏览器读取缓存
Sep 04 #Javascript
js不能获取隐藏的div的宽度只能先显示后获取
Sep 04 #Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
Sep 04 #Javascript
Flexigrid在IE下不显示数据的有效处理方法
Sep 04 #Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
Sep 04 #Javascript
You might like
用PHP中的 == 运算符进行字符串比较
2006/11/26 PHP
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
yii实现级联下拉菜单的方法
2014/07/31 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
jQuery textarea的长度进行验证
2009/05/06 Javascript
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
JavaScript实现Java中StringBuffer的方法
2015/02/09 Javascript
JavaScript使用indexOf获得子字符串在字符串中位置的方法
2015/04/06 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
2016/07/14 Javascript
详解用vue-cli来搭建vue项目和webpack
2017/04/20 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
react-router4 配合webpack require.ensure 实现异步加载的示例
2018/01/18 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
2018/07/31 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
2019/05/09 Javascript
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
python中 chr unichr ord函数的实例详解
2017/08/06 Python
Python探索之自定义实现线程池
2017/10/27 Python
Pandas时间序列:重采样及频率转换方式
2019/12/26 Python
利用keras加载训练好的.H5文件,并实现预测图片
2020/01/24 Python
python list的index()和find()的实现
2020/11/16 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
opencv实现图像平移效果
2021/03/24 Python
学习十八大报告感言
2014/02/04 职场文书
《问银河》教学反思
2014/02/19 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
教师求职自荐信
2014/03/09 职场文书
制冷与空调专业毕业生推荐信
2014/07/07 职场文书
员工培训协议书
2014/09/15 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
在K8s上部署Redis集群的方法步骤
2021/04/27 Redis
原生JS实现飞机大战小游戏
2021/06/09 Javascript