javascript - 如何从 JavaScript 中的 Razor 模型对象获取 JSON 对象

标签 javascript asp.net json asp.net-mvc asp.net-mvc-5

在viewmodel对象中,属性如下:

  public IList<CollegeInformationDTO> CollegeInformationlist { get; set; }

在VIEW中,javascript如下:

   var obj = JSON.stringify('@Model.CollegeInformationlist');
   alert(obj[1].State);  //NOT WORKING, giving string char

      $.each('@Model.CollegeInformationlist', function (i, item) {
    var obj = JSON.stringify(item);
    var r = $.parseJSON(obj);
    alert(r.State);    //just giving undefined.
    });

请在此处指导,我如何在 javascript 中获取 JSON 对象。

最佳答案

您可以使用以下内容:

var json = @Html.Raw(Json.Encode(@Model.CollegeInformationlist));

这将输出以下内容(没有看到您的模型,我只包含了一个字段):

<script>
    var json = [{"State":"a state"}];   
</script>

Working Fiddle

AspNetCore

AspNetCore 使用 Json.Serialize 而不是 Json.Encode

var json = @Html.Raw(Json.Serialize(@Model.CollegeInformationlist));

MVC 5/6

您可以为此使用 Newtonsoft:

    @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model, 
Newtonsoft.Json.Formatting.Indented))

这使您可以更好地控制 json 格式,即如上所述的缩进、驼峰等。

关于javascript - 如何从 JavaScript 中的 Razor 模型对象获取 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26344089/

相关文章:

javascript - 图像、JS 文件未在 MVC 应用程序中加载

asp.net - 如何追捕HTTP请求?

c# - 如何全局取消特定业务逻辑的回发事件?

ASP.NET MVC 要求我重新验证 PNG 文件而不是 GIF 或 JPEG

java - JSON 日期解析器,以少日形式发布

javascript - 使用 jquery 为任何字段在 javascript 中从 json 创建表

javascript - iframe.scrollTo() 不适用于 iPad 上的 Excel/PowerPoint 文档

javascript - (由设计更改修复)在响应式设计站点上使用 jQuery 计算高度以保持两列等高

c# - Timer Job 是这项工作的正确工具吗?

Javascript 从多组复选框中解析 JSON 数组