首页 > 解决方案 > 不接受具有 (",') 等特殊字符的数据表 Json。“显示缺失)”错误

问题描述

我正在从 C# 构建 JSON。我们从 C# View 模型中获取 Json,并将该 Json 初始化为字符串,如下所示

var jsondataObject = eval('@Html.Raw(Model.Datasource)');

Json 如下所示,并添加了单引号和双引号

  var jsondataObject = eval('[{"COLUMNS":[{"title":"Button", "visible" :"False", "width" :"100" },{"title":"testName", "visible" :"False", "width" :"100" },{"title":"test Start Date", "visible" :"False", "width" :"100" },{"title":"Test End Date", "visible" :"False", "width" :"100" },{"title":"Pack Number", "visible" :"False", "width" :"100" },{"title":"Pack", "visible" :"False", "width" :"100" },{"title":"test Type(UOM)", "visible" :"False", "width" :"100" },{"title":"Test Rate", "visible" :"False", "width" :"100" },{"title":"Created Date", "visible" :"False", "width" :"100" },{"title":"Created By", "visible" :"False", "width" :"100" },{"title":"Modified Date", "visible" :"False", "width" :"100" },{"title":"Modified By", "visible" :"False", "width" :"100" }],"DATA":[["20","test10","07/07/2020","07/07/2020","27488"," Corrections","  Percentage","","07/07/2020","   Saikrishnan","07/07/2020","saikrishnan"],["21","test89","07/07/2020","07/09/2020","27488"," Corrections","  Percentage","","07/07/2020","   Saikrishnan","07/07/2020","Saikrishnan"],["22","xzxzfc","","","","","","","07/07/2020","Saikrishnan","07/07/2020","Saikrishnan"],["23",**"test>><?{_)'"**(*&","","","","","","","07/07/2020","Saikrishnan","07/07/2020","Saikrishnan"],["24","test","","","","","","","07/07/2020","Saikrishnan","07/07/2020","Saikrishnan"]]}]');

当我们没有任何单引号或双引号时,它工作正常。但是当我们有单引号或双引号时,它会抛出错误并且表格没有进入。因为知道为什么会发生这种情况。但是任何人都可以告诉我如何请处理这个

$('#testTl').DataTable({
    "bPaginate": true,
    "bFilter": false,
    "bInfo": true,
    "data": dataObject[0].DATA,
    "columns": dataObject[0].COLUMNS
})

标签: c#jquery.net-core

解决方案


嘿,如果您可以控制数据,请尝试使用转义字符串。

前任:var temp = data.replace(/"/g, "\\\"") and temp.replace(/'/g, "\\'")


推荐阅读