需求:从数据库某个字段取出字符串出来,转为json,结果发现报错为 解析失败,发现是因为取出的字符串换行导致,现在需要将字符串里面的换行替换为'',使字符串可依成功解析成json对象。

技术:依靠replace函数实现

----------------------------------------
数据库里面的
----------------------------------------

{"choiceList":{"A":"<p>

<span>spare</span>

</p>","B":"<p>

<span>fast&nbsp;</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&nbsp;</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&nbsp;</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>

[js] 处理字符串换行造成的json解析失败的更多相关文章

  1. JS 验证字符串是否能转为json格式

    var isJSON=function (str) { if (typeof str == 'string') { try { var obj = JSON.parse(str); if (typeo ...

  2. iis上json解析失败404

    控制面板->打开或关闭windows功能->Internet信息服务->万维网服务->应用程序开发功能,勾选上“.net扩展性”和“ASP.NET”,保存后,重启IIS服务器. ...

  3. JSON 解析中遇到的坑😭

    最近做加解密遇到一个很“奇葩的问题”,解析服务端加密后的字符串 序列化 时一直报错 "json解析失败:Error Domain=NSCocoaErrorDomain Code=3840 & ...

  4. js中解析json对象:JSON.parse()用于从一个字符串中解析出json对象, JSON.stringify()用于从一个对象解析出字符串。

    JSON.parse()用于从一个字符串中解析出json对象. var str = '{"name":"huangxiaojian","age&quo ...

  5. [转]JS判断字符串是否为json数据

    原文地址:https://blog.csdn.net/qq_26400953/article/details/77411520 这周碰到了很多问题,尽量把遇到的问题都记录下来. JS判断字符串是否为j ...

  6. js将字符串转换成json的三种方式

    1,js自带的eval函数,其中需要添加小括号eval('('+str+')'); function strToJson(str){ var json = eval('(' + str + ')'); ...

  7. C#字符串数组排序 C#排序算法大全 C#字符串比较方法 一个.NET通用JSON解析/构建类的实现(c#) C#处理Json文件 asp.net使用Jquery+iframe传值问题

    C#字符串数组排序   //排序只带字符的数组,不带数字的 private   string[]   aa   ={ "a ", "c ", "b & ...

  8. js中Json字符串如何转成Json对象(4种转换方式)

    js中Json字符串如何转成Json对象(4种转换方式) 一.总结 一句话总结:原生方法(就是浏览器默认支持的方法) 浏览器支持的转换方式(Firefox,chrome,opera,safari,ie ...

  9. js实现字符串转JSON格式

    在浏览器前端实现字符串转JSON格式,有多种方法,总结如下: 方法1. js函数,eval() 语法: var obj = eval ("(" + txt + ")&qu ...

随机推荐

  1. 5.27 Test

    1.COGS.2039. 树的统计 思路: 各种方法. 代码: 1.遍历树1   时间 0.314 s   平均内存 2.96 MB #include<cstdio> using name ...

  2. BZOJ1166 : [Baltic2008]Magical Stones

    考虑二分答案,转化为求有多少$\leq lim$的数满足条件. 从两侧往中间进行数位DP,设$f[l][r][j][x][y][z][pre][suf]$表示当前准备填的两个位置是$l$和$r$,已经 ...

  3. angular2项目关于Echarts图表的处理

    在NiceFish项目中关于Echarts组件和指令是直接注册在appModule根模块中的,这样路由只需这样写就可以让浏览器加载图标组件: 在chart组件视图中: <div class=&q ...

  4. Maven入门指南⑥:将项目发布到私服

    1 . 修改私服中仓库的部署策略 Release版本的项目应该发布到Releases仓库中,对应的,Snapshot版本应该发布到Snapshots仓库中.Maven根据pom.xml文件中版本号&l ...

  5. .net 企业管理系统快速搭建框架

          简言   本人在博客园注册也2年多了,一直没有写自己的博客,因为才疏学浅一直跟着园子里的大哥们学习这.net技术.一年之前跳槽到现在的公司工作,由于公司没有自己一套的开发框架,每次都要重新 ...

  6. Android跨进程通信:图文详解 Binder机制 原理

    binder原理讲的很详细 https://blog.csdn.net/carson_ho/article/details/73560642

  7. android:View的setTag和getTag

    Adapter 有个getView方法,可以使用setTag把查找的view缓存起来方便多次重用 public View getView(int position, View convertView, ...

  8. Linux下批量修改文件名(rename)

    原文地址: http://blog.csdn.net/sea_shore/article/details/6102437 1.rename命令批量修改文件名, 其实linux下可以使用别的办法来批量修 ...

  9. ERROR: While executing gem … (Gem::RemoteFetcher::FetchError)

    原文地址:https://www.zfanw.com/blog/error-while-executing-gem-gem-remote-fetch-error.html 我对命令行下安装 gem 包 ...

  10. The system is running in low-graphics mode UB16

    1.Ctrl+ALT+F1 进入控制台 2.输入用户名和密码进入系统 3.输入以下命令: cd /etc/X11 sudo cp xorg.conf.failsafe xorg.conf sudo r ...