\”是JSON字符串(\" is JSON string)

2019-10-21 08:28发布

我有一个JSON字符串使用在ASP.NET MVC页面显示时,看起来像这样@ Model.JsonData

[
  {
    "id": 123,
    "text": "Consumer",
    "parent": "#";
  }
]

当我使用相同的@ Model.JsonData JavaScript代码中被编码为:

[
  {
    "id": 123,
    "text": "Consumer",
    "parent": "#"
  }
]

为什么JavaScript的段编码的双引号?

当双引号被编码的jstree插件期待JSON数据不起作用。

<script>
    $(function () {
        $('#jstree').jstree({
            'core': {
                'data': function ()
                {
                    var jsonTreeData = @Model.JsonTreeData;
                    return jsonTreeData;
                }
            }
        });
    });
</script>

错误信息:“SCRIPT1015:未终止的字符串常量”

Answer 1:

替换&quot;"

 var data = JSON.parse("[{&quot;id&quot;: 123,&quot;text&quot;: &quot;Consumer&quot;,&quot;parent&quot;: &quot;#&quot;}]".replace(/&quot;/g,'"')); console.log(data); 



文章来源: \" is JSON string