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>
  • 相关阅读:
    全球2/3的DNS瘫痪 顶级域名根服务器故障
    PHP多种形式发送邮件
    IOS开发的基础知识
    Java数字图像处理基础
    将HTML5 Canvas的内容保存为图片
    C# SortedList类概念和示例
    实例对比剖析c#引用参数的用法
    如何理解css中的float
    创建Google网站地图Sitemap.xml
    c#生成静态html文件,封装类
  • 原文地址:https://www.cnblogs.com/avivaye/p/9298265.html
Copyright © 2011-2022 走看看