JSON字符串中的HTML实体导致JavaScript崩溃

JSON字符串中的HTML实体导致JavaScript崩溃,javascript,asp.net-mvc,json,razor,Javascript,Asp.net Mvc,Json,Razor,我正在使用NewtonSoft.Json.JsonConvert.SerializeObject()将ASP.NET字典对象序列化为Json字符串。然后,我通过ViewBag将这个字符串传递给我的MVC视图 当我在MVC Razor by Razor语法中尝试将JSON字符串从ViewBag加载到JavaScript变量中时,我的JavaScript由于语法错误而崩溃。当我检查源代码时,我发现: var hf = {"Test0":65,"T

我正在使用
NewtonSoft.Json.JsonConvert.SerializeObject()
将ASP.NET字典对象序列化为Json字符串。然后,我通过ViewBag将这个字符串传递给我的MVC视图

当我在MVC Razor by Razor语法中尝试将JSON字符串从ViewBag加载到JavaScript变量中时,我的JavaScript由于语法错误而崩溃。当我检查源代码时,我发现:

var hf = {"Test0":65,"Test1":23,"Test2":43,"Test3":6,"Test4":31,"Test5":78,"Test6":1,"Test7":53,"Test8":74,"Test9":54};
这是我在视图中加载ViewBag内容的逻辑:

@section RenderChart
{
<script type="text/javascript">
    google.load("visualization", "1", { packages: ["corechart"] });
    function drawChart() {
        var hf = @ViewBag.ChartJsonData;
@section RenderChart
{
load(“可视化”、“1”、{packages:[“corechart”]});
函数绘图图(){
var hf=@ViewBag.ChartJsonData;

出于某种原因,我的JSON字符串正在进行HTML编码。在通过
Server.HtmlDecode()运行后,我尝试将其传递到ViewBag中
但这没有帮助。有人知道我如何解码这个字符串或将它传递到MVC视图中的JavaScript,而不将其转换为HTML实体吗?

Razor会自动对每个字符串进行HTML编码,如果它是用
@
输出的

如果您不想使用HTML编码,则需要使用以下符号包装字符串:


load(“可视化”、“1”、{packages:[“corechart”]});
函数绘图图(){
var hf=@Html.Raw(ViewBag.ChartJsonData)
}

Razor会自动对每个字符串进行HTML编码,如果它是用
@
输出的

如果您不想使用HTML编码,则需要使用以下符号包装字符串:


load(“可视化”、“1”、{packages:[“corechart”]});
函数绘图图(){
var hf=@Html.Raw(ViewBag.ChartJsonData)
}

您可以发布视图中输出JSON的相关部分吗?@nemesv-Ah是的,很抱歉漏掉了!我已经用相关代码更新了原始帖子。您可以发布视图中输出JSON的相关部分吗?@nemesv-Ah是的,很抱歉漏掉了!我已经更新了原始po现在我已经用相关的代码了。当然!我已经忘记了。我做网络编程太久了。非常感谢!当然!我已经忘记了。我做网络编程太久了。非常感谢!
<script type="text/javascript">
    google.load("visualization", "1", { packages: ["corechart"] });
    function drawChart() {
        var hf = @Html.Raw(ViewBag.ChartJsonData)
    }
</script>