Bei der Serialisierung von JSON -Daten zu C#-Objekt wird häufig festgestellt, dass die JSON -Struktur möglicherweise nicht immer alle in der Zielklasse definierten Attribute enthält. Um diese Situation effektiv zu bewältigen, bietet JSON.NET Optionen für die Verarbeitung fehlender Daten.
unter Berücksichtigung der folgenden C#Klasse:
und eine JSON -Beispielstruktur:
<code class="language-c#">public class MyAccount { // ... (为简洁起见省略属性) }</code>
, um diese JSON -Struktur in eine Instanz von MyAccount zu unterdrücken und das Fehlen von Attributen zu verarbeiten, können Sie die folgende Codezeile verwenden:
<code class="language-json">{ "givenname": ["Robert"], "passwordexpired": "20091031041550Z", "accountstatus": ["active"], "accountstatusexpiration": ["20100612000000Z"], // ... (为简洁起见省略其他属性) }</code>
json.net verwendet automatisch die entsprechenden Werte in der JSON -Struktur, um die Attribute in myAccount zu füllen. Für alle fehlenden Attribute wird der Wert auf seinen stillen Wert festgelegt (z. B. ist der Standardwert des Referenztyps null).
<code class="language-c#">var rootObject = JsonConvert.DeserializeObject<MyAccount>(jsonString);</code>
Zusätzliche Beschreibung:
Berücksichtigung der Verwendung der Datenüberprüfung, um sicherzustellen, dass in der JSON -Struktur erforderliche Attribute vorhanden sind.
Das obige ist der detaillierte Inhalt vonWie geht JSON.NET mit fehlenden Daten um, wenn JSON nach C# deserialisiert wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!