Heim > Backend-Entwicklung > C++ > Wie gehe ich anmutig mit fehlenden Daten um, wenn JSON mit JSON.NET von JSON zu C# verwiesen wird?

Wie gehe ich anmutig mit fehlenden Daten um, wenn JSON mit JSON.NET von JSON zu C# verwiesen wird?

Susan Sarandon
Freigeben: 2025-01-26 16:26:12
Original
460 Leute haben es durchsucht

How to Gracefully Handle Missing Data When Deserializing JSON to C# Using JSON.NET?

JSON-Daten nach C# mit JSON.NET deserialisieren: Umgang mit unvollständigen JSON-Strukturen

Beim Umgang mit JSON-Daten und C#-Klassen stoßen Sie häufig auf JSON-Strukturen, die möglicherweise nicht alle in der C#-Klasse definierten Eigenschaften enthalten. Die Deserialisierung solcher JSON-Daten mithilfe von JSON.NET erfordert eine leistungsstarke Methode zum ordnungsgemäßen Umgang mit fehlenden Daten.

Json.NET bietet eine praktische Lösung für dieses Problem. Durch die Nutzung der erweiterten Funktionen können Sie JSON-Daten in C#-Klassen deserialisieren und gleichzeitig fehlende Eigenschaften nahtlos verarbeiten.

C#-Klasse aus JSON erstellen

Verwenden Sie zunächst ein Online-Tool wie JSON2CSharp.com, um eine C#-Klasse aus der JSON-Struktur zu generieren. Dadurch wird eine Reihe von C#-Klassen erstellt, die die JSON-Datenstruktur genau darstellen.

JSON-Daten deserialisieren

Sobald Sie über die C#-Klassen verfügen, können Sie die von JSON.NET bereitgestellte JsonConvert-Klasse verwenden, um JSON-Daten in diese Klassen zu deserialisieren. Der folgende Code demonstriert dies:

<code class="language-csharp">var myJson = @"{
    ""givenname"": ""Robert"",
    ""passwordexpired"": ""20091031041550Z"",
    ""accountstatus"": [""active""],
    ""accountstatusexpiration"": [""20100612000000Z""],
    ""employeeid"": [""999777666""],
    ""sn"": [""Johnson""]
}";

var rootObject = JsonConvert.DeserializeObject<rootobject>(myJson);</code>
Nach dem Login kopieren

Mit JsonConvert.DeserializeObject können Sie JSON-Daten direkt in eine Instanz der RootObject-Klasse deserialisieren. Dieses Objekt enthält alle in den JSON-Daten vorhandenen Eigenschaften.

Umgang mit fehlenden Daten

Wenn in den JSON-Daten Attribute fehlen, weist Json.NET den entsprechenden Attributen in der C#-Klasse automatisch Standardwerte zu. Wenn beispielsweise die Zugehörigkeitseigenschaft in den JSON-Daten fehlt, wird die Zugehörigkeitseigenschaft im RootObject mit einem leeren Array initialisiert.

Angepasster Standardwert

Bei Bedarf können Sie den einem fehlenden Attribut zugewiesenen Standardwert mithilfe des DefaultValueAttribute-Attributs anpassen, wie unten gezeigt:

<code class="language-csharp">[DefaultValue("N/A")]
public string Affiliation { get; set; }</code>
Nach dem Login kopieren

Fazit

Mit JSON.NET und empfohlenen Methoden wird die Deserialisierung von JSON-Daten in C#-Klassen zu einem einfachen und leistungsstarken Prozess, auch wenn fehlende Daten ordnungsgemäß verarbeitet werden. Dies ermöglicht einen effizienten und effektiven Datenaustausch zwischen verschiedenen Systemen und Anwendungen.

Das obige ist der detaillierte Inhalt vonWie gehe ich anmutig mit fehlenden Daten um, wenn JSON mit JSON.NET von JSON zu C# verwiesen wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage