【问题标题】:" is JSON string" 是 JSON 字符串
【发布时间】:2014-12-03 10:22:37
【问题描述】:

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

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

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

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

为什么 JavaScript 段编码双引号?

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

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

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

【问题讨论】:

标签: javascript asp.net-mvc json encoding jstree


【解决方案1】:

&amp;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);

【讨论】:

  • 问题是jstree的javascript代码sn-p中的编码字符串报错:"SCRIPT1015: Unterminated string constant"
【解决方案2】:

在您的控制器中以这种方式传递 Model.JsonData

Model.JsonData = new HtmlString("Your String or Json");

使用 Microsoft.AspNetCore.Html 添加;如果 HtmlString 不可访问。

【讨论】:

    猜你喜欢
    • 2019-06-04
    • 2013-02-13
    • 2017-11-28
    • 1970-01-01
    • 2016-07-10
    • 2014-04-15
    • 1970-01-01
    • 2019-04-03
    • 2016-11-25
    相关资源
    最近更新 更多