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.
});
여기에서 자바 스크립트에서 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
되므로 .NET 에 대한 호출로 래핑 할 필요가 없습니다 Html.Raw()
.
다음과 같이 간단해야합니다.
<script>
var json = @Json.Serialize(Model.CollegeInformationlist);
</script>
답변
사용 후 코드var json = @Html.Raw(Json.Encode(@Model.CollegeInformationlist));
당신은 사용이 필요합니다 JSON.parse(JSON.stringify(json))
;
답변
yor 모델에서 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>
}