Heim > Backend-Entwicklung > C++ > Wie kann ich JSON mit bekannten und unbekannten Feldern in C# deserialisieren?

Wie kann ich JSON mit bekannten und unbekannten Feldern in C# deserialisieren?

Linda Hamilton
Freigeben: 2025-01-18 09:17:10
Original
156 Leute haben es durchsucht

How Can I Deserialize JSON with Both Known and Unknown Fields in C#?

JSON-Deserialisierung bekannter und unbekannter Felder in C#

Wenn das JSON-Ergebnis bekannte und unbekannte Felder enthält, ist es normalerweise erforderlich, die unbekannten Felder einem Wörterbuch zuzuordnen, um den Zugriff und die Änderung zu erleichtern. Obwohl es mehrere Möglichkeiten gibt, dies zu erreichen, bietet die Verwendung von JsonExtensionDataAttribute in JSON .NET eine praktische Lösung.

Mit dem Attribut

JsonExtensionDataAttribute können Sie ein Attribut angeben, das zusätzliche unbekannte Felder enthält. Ein Beispiel ist wie folgt:

<code class="language-csharp">public class Product
{
    public string id { get; set; }
    public string name { get; set; }

    [JsonExtensionData]
    private IDictionary<string, JToken> _extraFields;
}</code>
Nach dem Login kopieren

Mit diesem Attribut werden unbekannte Felder im _extraFields-Attribut gespeichert, bei dem es sich um ein Wörterbuch aus Zeichenfolgenschlüsseln (Feldnamen) und JToken-Werten (Feldwerten) handelt. Dadurch können Sie problemlos auf unbekannte Felder in Ihrem Code zugreifen und diese ändern.

Bitte beachten Sie, dass diese Methode JSON .NET v5 Version 5 oder höher erfordert. Wenn Sie eine frühere Version verwenden, möchten Sie möglicherweise andere im Originalartikel erwähnte Optionen erkunden, z. B. die Verwendung eines benutzerdefinierten Vertragsparsers oder eines benutzerdefinierten Konverters.

Das obige ist der detaillierte Inhalt vonWie kann ich JSON mit bekannten und unbekannten Feldern in C# deserialisieren?. 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