C# MVC视图-JSON未从控制器正确解析

C# MVC视图-JSON未从控制器正确解析,c#,asp.net-mvc,json,C#,Asp.net Mvc,Json,我无法理解为什么我的JSON解析不正确。我正在将c#字典解析为控制器中的JSON字符串。那里的输出是正确的。当我将字符串传递回我的局部视图时,它无法正确渲染,并且我得到了“意外标记&”,我尝试了多种方法将其返回到视图,但没有效果 查看: var data = @Model.JSONDict //data output - var data = {"3/1/2014":2,"2/28/2014":1,&

我无法理解为什么我的JSON解析不正确。我正在将c#字典解析为控制器中的JSON字符串。那里的输出是正确的。当我将字符串传递回我的局部视图时,它无法正确渲染,并且我得到了“意外标记&”,我尝试了多种方法将其返回到视图,但没有效果

查看:

    var data = @Model.JSONDict
    //data output - var data = {"3/1/2014":2,"2/28/2014":1,"2/27/2014":1,"2/26/2014":0,"2/25/2014":0,"2/24/2014":0,"2/23/2014":0}


    //var keys = Object.keys(data);
string output = JsonConvert.SerializeObject(dict);

//Resulting Output = "{\"3/1/2014\":2,\"2/28/2014\":1,\"2/27/2014\":1,\"2/26/2014\":0,\"2/25/2014\":0,\"2/24/2014\":0,\"2/23/2014\":0}"

            ViewData["allEntries"] = output;
            model.JSONDict = output;

            return PartialView("_Graph", model);
控制器:

    var data = @Model.JSONDict
    //data output - var data = {"3/1/2014":2,"2/28/2014":1,"2/27/2014":1,"2/26/2014":0,"2/25/2014":0,"2/24/2014":0,"2/23/2014":0}


    //var keys = Object.keys(data);
string output = JsonConvert.SerializeObject(dict);

//Resulting Output = "{\"3/1/2014\":2,\"2/28/2014\":1,\"2/27/2014\":1,\"2/26/2014\":0,\"2/25/2014\":0,\"2/24/2014\":0,\"2/23/2014\":0}"

            ViewData["allEntries"] = output;
            model.JSONDict = output;

            return PartialView("_Graph", model);
我也试着解析出了&A,根据这篇文章:像这样,但得到了相同的错误消息:

storejson= getJSonObject("@ViewBag.JsonData");

function getJSonObject(value) {
    return $.parseJSON(value.replace(/"/ig, '"'));
}

问题是在输出中JSON是编码的。为了解决这个问题,您可以像这样使用
@Html.Raw()

var data = @Html.Raw(Json.Encode(@Model.JSONDict))

但是请注意,使用
@Html.Raw()
可能会导致一些安全问题,因此必须谨慎使用。

在您看来,尝试
var data=@Html.Raw(Json.Encode(@Model.JSONDict))
就是这样做的!谢谢好吧,那我就发布一个答案。如果它有效,如果你愿意,你可以接受它。快乐编码:)因为答案对你有用(@aoakeson),请
接受它作为答案,因为它也会对其他人有帮助。