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