【问题标题】:MVC failed to make a json string in view for a variable in javascriptMVC 无法为 javascript 中的变量创建 json 字符串
【发布时间】:2017-12-17 15:32:54
【问题描述】:

我在视图中有一个json变量如下:

 @{
        string jsontemp = '{"Cars": {"Nissan": [{"Model": "Sentra", "doors": 4},{"Model": "Maxima", "doors": 4}],"Ford": [{"Model": "Taurus", "doors": 4},{"Model": "Escort", "doors": 4}]}}';
}

我想将它分配给 javascript 中的一个变量。

<script>
var jsondata = @jsontemp;

var arraydata = JSON.parse(jsondata);

</script>

但我收到以下错误消息:

Uncaught SyntaxError: Unexpected token &

我了解到,当视图运行时,我的 json 变量来自格式:["Ford", "BMW", "Fiat"] 转换为 [&amp;quot;Ford&amp;quot;, &amp;quot;BMW&amp;quot;, &amp;quot;Fiat&amp;quot;]

我想从视图中检索 json 字符串,并将其分配给脚本代码中的变量,然后我从该字符串解析到数组。

【问题讨论】:

    标签: javascript jquery json asp.net-mvc razor


    【解决方案1】:

    您需要使用@Html.Raw() 以原始形式输出数据。

    否则@ 将通过 HtmlEncoding 转义您的输出。

    <script>
        var jsondata = @Html.Raw(jsontemp);
        var arraydata = JSON.parse(jsondata);
    
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-06
      • 2020-02-13
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多