deutsch - json array auslesen javascript



So erhalten Sie ein JSON-Objekt aus einem Razor Model-Objekt in Javascript (4)

Im viewmodel Objekt ist unten die Eigenschaft:

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

In VIEW ist Javascript wie folgt:

   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.
    });

Bitte führen Sie hier, wie ich JSON-Objekt in Javascript bekommen kann.

https://ffff65535.com


Übergeben Sie das Objekt vom Controller zur Ansicht, konvertieren Sie es in Markup ohne Codierung und analysieren Sie es in json.

@model IEnumerable<CollegeInformationDTO>

@section Scripts{
    <script>
          var jsArray = JSON.parse('@Html.Raw(Json.Encode(@Model))');
    </script>
}

In ASP.NET Core gibt IJsonHelper.Serialize() IHtmlContent sodass Sie es nicht mit einem Aufruf von Html.Raw() .

Es sollte so einfach sein wie:

<script>
  var json = @Json.Serialize(Model.CollegeInformationlist);
</script>

Sie könnten Folgendes verwenden:

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

Dies würde Folgendes ausgeben (ohne Ihr Modell zu sehen, habe ich nur ein Feld eingefügt):

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

Arbeitsgeige

AspNetCore

AspNetCore verwendet Json.Serialize anstelle von Json.Encode

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

MVC 5/6

Sie können Newtonsoft dafür verwenden:

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

Dies gibt Ihnen mehr Kontrolle über die JSON-Formatierung, z. B. Einrücken wie oben, Kamelformen usw.


Wenn Sie ein json-Objekt aus Ihrem Modell erstellen möchten, gehen Sie folgendermaßen vor:

  foreach (var item in Persons)
   {
    var jsonObj=["FirstName":"@item.FirstName"]
   }

Oder verwenden Sie Json.Net , um aus Ihrem Modell Json.Net zu machen:

string json = JsonConvert.SerializeObject(person);




asp.net-mvc-5