[js] 处理字符串换行造成的json解析失败
2024-10-05 09:27:16
需求:从数据库某个字段取出字符串出来,转为json,结果发现报错为 解析失败,发现是因为取出的字符串换行导致,现在需要将字符串里面的换行替换为'',使字符串可依成功解析成json对象。
技术:依靠replace函数实现
----------------------------------------
数据库里面的
----------------------------------------
{"choiceList":{"A":"<p> <span>spare</span> </p>","B":"<p> <span>fast </span> </p>","C":"<p> <span>moderate</span> </p>","D":"<p> <span>moral</span> </p>"}}
----------------------------------------
去掉多余空格后的样子
----------------------------------------
{"choiceList":{"A":"<p><span>spare</span></p>","B":"<p><span>fast </span></p>","C":"<p><span>moderate</span></p>","D":"<p><span>moral</span></p>"}}
----------------------------------------
最后的解析成功的
----------------------------------------
{
"choiceList": {
"A": "<p><span>spare</span></p>",
"B": "<p><span>fast </span></p>",
"C": "<p><span>moderate</span></p>",
"D": "<p><span>moral</span></p>"
}
}
关键代码:
var json=异常字符串
json = json.replace(/\n/g,"").replace(/\r/g,"");//去掉字符串中的换行符
json = json.replace(/\n/g,"").replace(/\s|\xA0/g,"");//去掉字符串中的所有空格
var jsonObj= eval('(' + json + ')'); //将字符串解析成json对象 console.log(jsonObj);
测试:
http://www.w3school.com.cn/tiy/t.asp?f=jquery_hide <!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js">
</script>
<script>
$(document).ready(function(){
var json='{"choiceList": {"A2":"<p>\n\n<span> spare</span>\n\n</p>","B":"<p>\n\n<span>fast </span>\n\n</p>","C":"<p>\n\n<span> moderate</span>\n\n</p>","D":"<p>\n\n<span>moral</span>\n\n</p>"}}';
json = json.replace(/\n/g,"").replace(/\r/g,"").replace(/\s|\xA0/g,"");
var jsonObj= eval('(' + json + ')');
console.log(jsonObj);
});
</script>
</head>
<body>
<p>请在console控制台看结果</p>
</body>
</html>
最新文章
- Python开发程序:RPC异步执行命令(RabbitMQ双向通信)
- MVC过滤器详解
- Pyqt QListWidget之缩略图列表
- ASP.NET WebApi Document Helper
- Linux学习笔记(15)shell基础之Bash基本功能
- 如何查找Mac上的USB存储设备使用痕迹
- [Papers]MHD, $\p_3\pi$, Lebesgue space [Zhang-Li-Yu, JMAA, 2013]
- asp.net从一个页面的单击按钮事件控制另一个页面的刷新
- Stm32 SWD 下载 调试配置
- C#(MVC) Word 替换,填充表格,导出并下载PDF文档
- nagios配置
- Autoconf/Automake工具简介
- c# 数据库编程(利用DataSet 和 DataAdaper对象操作数据库--单表操作)
- 分布式文件管理系统_FastDFS集群
- 安装xampp出错,安装xampp出错,windows找不到-n ?
- 迭代操作-->;c:forEach和c:forTokens
- (转载)用VS2012或VS2013在win7下编写的程序在XP下运行就出现“不是有效的win32应用程序“
- JetBrains Pycharm 破解+汉化
- 再一波Python实战项目列表
- 释放linux的buff/cache
热门文章
- 深入理解 Array.prototype.map()
- Windows 7 Boot Updater 如何使用
- 不让Editplus保存时java文件时生成.bak文件
- 将java项目传输到centos7服务端
- 一道面试题 包含了new的细节 和运算符的优先级 还有属性访问机制
- Facebook&#39;s React vs AngularJS: A Closer Look
- 让你提升命令行效率的 Bash 快捷键 [完整版]
- [leetcode]Decode Ways @ Python
- JAVA消息服务JMS规范及原理详解
- Linux下在root权限下临时使用其它用户运行命令