![](/img/trans.png)
[英]Get id of element for JavaScript in MVC4/Razor from nested object in model
[英]How to get JSON object from Razor Model object in javascript
在 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格式,即如上所述縮進,駝峰包裝等。
在ASP.NET Core中, IJsonHelper.Serialize()返回IHtmlContent
因此您無需通過調用Html.Raw()
來包裝它。
它應該很簡單:
<script>
var json = @Json.Serialize(Model.CollegeInformationlist);
</script>
使用代碼后var json = @Html.Raw(Json.Encode(@Model.CollegeInformationlist));
您需要使用JSON.parse(JSON.stringify(json))
;
如果要從模型中創建json對象,請執行以下操作:
foreach (var item in Persons)
{
var jsonObj=["FirstName":"@item.FirstName"]
}
或使用Json.Net從您的模型制作json:
string json = JsonConvert.SerializeObject(person);
將對象從控制器傳遞到視圖,將其轉換為標記而不進行編碼,然后將其解析為json。
@model IEnumerable<CollegeInformationDTO>
@section Scripts{
<script>
var jsArray = JSON.parse('@Html.Raw(Json.Encode(@Model))');
</script>
}
以下代碼對我有用
var chartD = JSON.parse(JSON.stringify([@Json.Serialize(@Model)]));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.