使用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 相关文章推荐
借助script进行Http跨域请求:JSONP实现原理及代码
Mar 19 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
Jan 23 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
Jul 27 Javascript
模拟javascript中的sort排序(简单实例)
Aug 17 Javascript
vue中用动态组件实现选项卡切换效果
Mar 25 Javascript
Vue.js 60分钟快速入门教程
Mar 28 Javascript
laydate 显示结束时间不小于开始时间的实例
Aug 11 Javascript
vue实现验证码按钮倒计时功能
Apr 10 Javascript
详解angular2.x创建项目入门指令
Oct 11 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
Jan 06 Javascript
微信小程序数据统计和错误统计的实现方法
Jun 26 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
Feb 27 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
DSP接收机前端设想
2021/03/02 无线电
如何在PHP中使用Oracle数据库(1)
2006/10/09 PHP
变量在 PHP7 内部的实现(二)
2015/12/21 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
PHP hebrev()函数用法讲解
2019/02/21 PHP
Yii框架视图、视图布局、视图数据块操作示例
2019/10/14 PHP
让广告代码不再影响你的网页加载速度
2006/07/07 Javascript
js 数据类型转换总结笔记
2011/01/17 Javascript
防止文件缓存的js代码
2013/01/10 Javascript
jQuery消息提示框插件Tipso
2015/05/04 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
JavaScript数据类型的存储方法详解
2017/08/25 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
2018/08/27 Javascript
原生js实现获取form表单数据代码实例
2019/03/27 Javascript
[02:33]DOTA2英雄基础教程 司夜刺客
2013/12/04 DOTA
Python文本特征抽取与向量化算法学习
2017/12/22 Python
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
python 删除列表里所有空格项的方法总结
2018/04/18 Python
Python脚本修改阿里云的访问控制列表的方法
2019/03/08 Python
Python3.0中普通方法、类方法和静态方法的比较
2019/05/03 Python
在Pandas中处理NaN值的方法
2019/06/25 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
Android Q之气泡弹窗的实现示例
2020/06/23 Python
Python 通过爬虫实现GitHub网页的模拟登录的示例代码
2020/08/17 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
省三好学生申请材料
2014/01/22 职场文书
2014年健康教育实施方案
2014/02/17 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
2014年社区教育工作总结
2014/12/02 职场文书
成品仓管员岗位职责
2015/04/01 职场文书
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers