zoukankan      html  css  js  c++  java
  • 服务端返回的json数据,导致前端报错的原因及解决方法

    前言

    最近在开发的过程中遇到了一个问题:后端传过来的json字符串不是标准的json字符串

    导致报错的原因 

    后端传过来的json字符串中包含一些不标准的字符或错误的引号嵌套

    1)

    2)

    3) 双引号

    4)单引号

    5)双引号包含双引号

    6)单引号包含单引号

    解决办法

    1)    

        前端:替换成\n

    2)

        前端:替换成\r

    3) 双引号

        前端:替换成"

    4)单引号

      前端:替换成'

    5)双引号包含双引号

        前端:双引号包含单引号

    6)单引号包含单引号

        前端:单引号包含双引号

    当然我们需要后端同时配合处理

    可能存在问题

    \n失效,在页面并没有换行

    解决办法:

    方法一:我们可以在渲染页面前找到 将其替换成<br/>

    this.termUse=data.replace(/
    /g,'<br/>');
    this.renderFloorContent(this.termUse);

    补充:因为不同编辑输出的回车换行不太一样,如果你发现替换 无效果,可以试着换成 或者 再看结果,总有一种可以替换成功

    方法二:我们可以在渲染页面前需要循环字符换,将等于 的字符串替换成“<br/>”,重组字符串

    var i;
    var result = "";
    var c;
    for (i = 0; i < str.length; i++) {
       c = str.substr(i, 1);
        if ( c == "
    ")
           result = result + "</br>";
        else if (c != "
    ")
           result = result + c;
    }

    方法二能用,但太麻烦不推荐

    额外参考

    取后台json过程由于转义字符出现的问题

    转义字符(\\\\)对JavaScript中JSON.parse的影响概述

  • 相关阅读:
    vpp编写plugin
    vrf 命令
    vxlan + 多个vrf
    dpdk helloworld
    Go函数高级
    Go_defer
    Go递归函数
    Go作用域
    Go函数
    Go字符串
  • 原文地址:https://www.cnblogs.com/kunmomo/p/10603509.html
Copyright © 2011-2022 走看看