Heim >Backend-Entwicklung >C++ >Wie serialisiere und deserialisiere ich Felder mit System.Text.Json in .NET?

Wie serialisiere und deserialisiere ich Felder mit System.Text.Json in .NET?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-14 07:04:41963Durchsuche

How to Serialize and Deserialize Fields with System.Text.Json in .NET?

Felder mit System.Text.Json serialisieren und deserialisieren

In .NET Core 3.x gibt es für System.Text.Json eine Einschränkung: Serialisierung und Deserialisierung von Feldern werden nicht unterstützt. Dies kann zu Herausforderungen führen, wenn eine Klasse feldbasierte Variablen erfordert.

Um dieses Problem zu lösen, gibt es zwei Möglichkeiten:

Für .NET Core 3.x:

Leider werden Felder in .NET Core 3.x nicht unterstützt. Wie in der Dokumentation erwähnt, ist es möglich, einen benutzerdefinierten Konverter zu verwenden, um diese Funktionalität zu erreichen. Dies erfordert jedoch die Implementierung eines manuellen Konvertierungsprozesses.

Für .NET 5 und höher:

In .NET 5 und höher können öffentliche Felder mit System.Text.Json serialisiert und deserialisiert werden. Es gibt zwei Möglichkeiten, dies zu erreichen:

  1. JsonSerializerOptions

Aktivieren Sie die Feldserialisierung, indem Sie JsonSerializerOptions.IncludeFields auf true setzen.

<code class="language-csharp">var options = new JsonSerializerOptions { IncludeFields = true };
var json = JsonSerializer.Serialize(car, options);
var carDeserialized = JsonSerializer.Deserialize<Car>(json, options);</code>
  1. [JsonInclude]-Attribut

Alternativ können Sie das Attribut [JsonInclude] verwenden, um bestimmte Felder für die Serialisierung zu markieren.

<code class="language-csharp">public class Car
{
    [JsonInclude]
    public string Model;
}</code>

Durch die Anwendung dieser Techniken können Sie sicherstellen, dass Klassenfelder korrekt serialisiert und deserialisiert werden, sodass Daten zwischen Objekten korrekt gespeichert werden.

Das obige ist der detaillierte Inhalt vonWie serialisiere und deserialisiere ich Felder mit System.Text.Json in .NET?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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