zoukankan      html  css  js  c++  java
  • [js] 处理字符串换行造成的json解析失败

    需求:从数据库某个字段取出字符串出来,转为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(/
    /g,"").replace(/
    /g,"");//去掉字符串中的换行符
    json = json.replace(/
    /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>
    
    <span>                  spare</span>
    
    </p>","B":"<p>
    
    <span>fast&nbsp;</span>
    
    </p>","C":"<p>
    
    <span>              moderate</span>
    
    </p>","D":"<p>
    
    <span>moral</span>
    
    </p>"}}';
         json = json.replace(/
    /g,"").replace(/
    /g,"").replace(/s|xA0/g,"");
         var jsonObj= eval('(' + json + ')');
         console.log(jsonObj);
      });
    </script>
    </head>
    <body>
    <p>请在console控制台看结果</p>
    </body>
    </html>
  • 相关阅读:
    国内BI工具/报表工具厂商简介
    国内外主流BI厂商对比
    目前国内几大著名报表软件(2014更新)
    从基因组可视化工具——circos说起,circos安装
    30 个最好的数据可视化工具推荐
    用数据讲故事 七种不同的数据展示方法
    大数据时代,统计学方法有多大的效果?
    Oracle不能导入空表解决方案
    ORA-20000:ORU-10027:buffer overflow,limit of 10000 bytes错误4
    结构体内存对齐的要素--数据成员对齐的规则
  • 原文地址:https://www.cnblogs.com/avivaye/p/9298265.html
Copyright © 2011-2022 走看看