首页 > 解决方案 > 如何处理 JSON 中的特殊字符

问题描述

我有一个网格的列定义,我正在尝试将其放入 JSON n 负载中。很少有特殊字符和函数会导致无效 JSON 错误

[ 
   { 
      "headerName":"",
      "field":"",
      "headerCheckboxSelection":true,
      "checkboxSelection":true,
      "width":45
   },
   { 
      "headerName":"A-1 PORT",
      "width":110,
      "cellRendererFramework":"params => {
          return this.renderCells(params)
        }",
      "field":"a1Port",
      "tooltipField":"A-1 PORT",
      "icons":"{
          sortAscending: `<img src=${ascArrow} style=\"margin-left:65px;color:black; position:absolute\" />`,
          sortDescending: `<img src=${dscArrow} style=\"margin-left:65px;color:black; position:absolute\" />`}"
   }
]

在这种情况下如何转义函数和特殊字符

在此处输入图像描述

标签: json

解决方案


cellRendererFramework这里的问题在于您的和属性中的换行符icons,因为 JSON 不支持文字换行符。如果您打算将这些属性保留为字符串(而不是将icons属性转换为另一个对象),您可以尝试以下操作:

[ 
   { 
      "headerName":"",
      "field":"",
      "headerCheckboxSelection":true,
      "checkboxSelection":true,
      "width":45
   },
   { 
      "headerName":"A-1 PORT",
      "width":110,
      "cellRendererFramework":"params => { return this.renderCells(params) }",
      "field":"a1Port",
      "tooltipField":"A-1 PORT",
      "icons":"{ sortAscending: `<img src=${ascArrow} style=\"margin-left:65px;color:black; position:absolute\" />`, sortDescending: `<img src=${dscArrow} style=\"margin-left:65px;color:black; position:absolute\" />`}"
   }
]

如果要保留字符串中的换行符,可以在\n任何需要换行符的地方插入。


推荐阅读