Mein JSON lautet wie folgt:
{"t":"1339886","a":true,"data":[],"Type":[['Ants','Biz','Tro']]}
Ich habe die Newtonsoft JSON.NET-Deserialisierungsbibliothek für C # gefunden. Ich habe versucht, es wie folgt zu verwenden:
object JsonDe = JsonConvert.DeserializeObject(Json);
Wie kann ich auf das JsonDe
Objekt zugreifen, um alle "Typ" -Daten abzurufen? Ich habe es mit einer Schleife versucht, aber es funktioniert nicht, weil das Objekt keinen Enumerator hat.
c#
json.net
deserialization
abc cba
quelle
quelle
Antworten:
Sie können eine Klasse implementieren, die die Felder enthält, die Sie in Ihrem JSON haben
und verwenden Sie dann die generische Version von DeserializeObject:
Dokumentation: Serialisieren und Deserialisieren von JSON
quelle
MyData tmp = (MyData)JsonConvert.DeserializeObject(json);
. Die generische Version von deserialize funktioniert dank viel besser. :-)dotnet add package Newtonsoft.Json
undusing Newtonsoft.Json;
.Eine viel einfachere Lösung: Verwenden eines dynamischen Typs
Ab Json.NET 4.0 Release 1 gibt es native dynamische Unterstützung. Sie müssen keine Klasse deklarieren, verwenden Sie einfach
dynamic
:Alle Felder sind verfügbar:
Mit dynamic müssen Sie keine bestimmte Klasse erstellen, um Ihre Daten zu speichern.
quelle
dynamic
:)Gemäß der Newtonsoft-Dokumentation können Sie auch ein anonymes Objekt wie das folgende deserialisieren:
quelle
definition
, wie ich esDeserializeAnonymousType
in diesem Fall verwenden soll.