如何从javascript中的Razor Model对象获取JSON对象

在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>

AspNetCore使用Json.Serialize的接口Json.Encode

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

您可以为此使用Newtonsoft:

    @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model, 

Newtonsoft.Json.Formatting.Indented))

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

以上是 如何从javascript中的Razor Model对象获取JSON对象 的全部内容, 来源链接: utcz.com/qa/422416.html

回到顶部