Liersch.JsonSerialization
erweitert Liersch.Json um die Reflection-basierte Serialisierung und Deserialisierung. Auf Basis von Liersch.Reflection werden dabei Felder und Eigenschaften durch dynamisch generierten IL-Code effizient gelesen und geschrieben.
Die Bibliothek ist für folgende .NET-Plattformen geeignet:
- ab .NET Framework 2.0
- ab .NET Core 2.0
- ab .NET Standard 2.1
- Mono
Alle nennenswerten Bibliotheksänderungen werden in der Datei CHANGELOG.md festgehalten.
Verwendung der Bibliothek
Liersch.JsonSerialization
ist auf NuGet verfügbar und kann über diesen Wege komfortabel in neue oder bestehende Projekte integriert werden. Für ältere Projekte (vor .NET Framework 4.0) müssen die Bibliothek und ihre abhängigen Bibliotheken manuell kompiliert und integriert werden.
JsonSerializer und JsonDeserializer
Die Klassen JsonSerializer
und JsonDeserializer
dienen zur Reflection-basierten Serialisierung und Deserialisierung von Klassen. Dafür müssen Felder und Eigenschaften lediglich mit dem Attribut JsonMemberAttribute
gekennzeichnet werden. Nur öffentliche Felder und Eigenschaften sollten mit diesem Attribut markiert werden. Für die Deserialisierung wird ein öffentlicher Standardkonstruktor benötigt.
class Example
{
[JsonMember("IntegerArray")]
public int[] IntegerArray;
[JsonMember("StringValue")]
public string StringValue;
public string NotSerializedString;
}
Im folgenden Beispiel wird eine Instanz einer serialisierbaren Klasse erstellt, serialisiert und wieder deserialisiert.
var e1=new Example();
e1.IntegerArray=new int[] { 10, 20, 30, 700, 800 };
e1.StringValue="Example Text";
e1.NotSerializedString="Other Text";
string json=new JsonSerializer().Serialize(e1);
Example e2=new JsonDeserializer().Deserialize<Example>(json);
Lizenz
Die Veröffentlichung der Software erfolgt unter den Bedingungen einer Open-Source-Lizenz. Alternativ können im Rahmen einer kommerziellen Lizenz andere Bedingungen vereinbart werden. Sie können Pflege und Weiterentwicklung der Software mit einer freiwilligen Spende unterstützen.
Copyright
Copyright © 2013-2021 Steffen Liersch
https://www.steffen-liersch.de/
Verweise
Der Quellcode wird auf GitHub gepflegt:
https://github.com/steffen-liersch/Liersch.JsonSerialization
Pakete können über NuGet heruntergeladen werden:
https://www.nuget.org/packages/Liersch.JsonSerialization
Schreiben Sie einen Kommentar
Sie müssen angemeldet sein, um einen Kommentar abzugeben.