我将一个json字符串作为String模型传递给我的视图。我尝试将字符串解析为JSONobject。但它不起作用,
我的字符串是正确的Json
var jsonObject = JSON.parseJSON(@Model);
然而,当我运行它时,我得到了这个,解析似乎失败,因为我无法使用我的jsonobject。我做错了什么?
var jsonObject = JSON.parseJSON({"elements":[{"type":"input","label":"","value":""}]});
答案 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。