在MVC视图中jQuery字符串到json对象

时间:2014-01-30 14:58:35

标签: jquery asp.net-mvc json

我将一个json字符串作为String模型传递给我的视图。我尝试将字符串解析为JSONobject。但它不起作用,

我的字符串是正确的Json

var jsonObject = JSON.parseJSON(@Model);

然而,当我运行它时,我得到了这个,解析似乎失败,因为我无法使用我的jsonobject。我做错了什么?

var jsonObject = JSON.parseJSON({"elements":[{"type":"input","label":"","value":""}]});

2 个答案:

答案 0 :(得分:0)

如果您的Model已经是json字符串,则无需解析它。 Razor还编码html,所以你需要防止这种情况发生。试试这个:

var jsonObject = @Html.Raw(Model);

答案 1 :(得分:0)

在视图中解析任何内容通常不是一个好主意。视图是显示数据,而不是处理它,尽量避免使用逻辑。创建一个新的Model类,其中一个属性保存解析对象所需的内容,并在Controller中进行解析。所以View将获得该对象并仅显示结果 - 这就是它的用途。

BTW我认为编码是错误的,试试这个:var jObj = JSON.parseJSON("{\"e\":\"value\"}");因为C#语法用于嵌入式代码,而不是HTML。