Easy Json
| Summary | Simplifies json reading/writing by adding some extensions methods |
|---|---|
| Description |
Simplifies json reading/writing by adding some extensions methods Example of usage: public class JsonConverter : JsonConverter<Line> { public override Line? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { if(typeToConvert != typeof(Line)) throw new ArgumentException($"Invalid type ({typeToConvert}).", nameof(typeToConvert)); if(reader.TokenType == JsonTokenType.Null) return null; Line line = new(); reader.ReadObjectProperties((ref reader, propertyName) => <-------- { if(propertyName.SequenceEqual("Keys"u8)) <-------- { reader.ReadArray((ref reader, index) => <-------- { line.Add(reader.getByte()); }); } } return line; } } All Features: • JsonReadException • Utf8JsonReader extensions• void AssertToken(JsonTokenType tokenType) • void AssertToken(params IEnumerable<JsonTokenType> tokenTypes) • JsonTokenType ReadOrThrow() • JsonTokenType ReadTokenOrThrow(params IEnumerable<JsonTokenType> allowedTokenTypes) • byte ReadByte() • short ReadInt16() • int ReadInt32() • long ReadInt64() • sbyte ReadSByte() • ushort ReadUInt16() • uint ReadUInt32() • ulong ReadUInt64() • float ReadSingle() • double ReadDouble() • decimal ReadDecimal() • bool ReadBoolean() • DateTime ReadDateTime() • DateTimeOffset ReadDateTimeOffset() • Guid ReadGuid() • string? ReadString() • void ReadObjectProperties(ReadPropertyDelegate readPropertyAction) • void ReadObject(ReadPropertyDelegate readPropertyAction) • void ReadArrayEntries(ReadArrayEntryDelegate readArrayEntryAction) • void ReadArray(ReadArrayEntryDelegate readArrayEntryAction) • ReadArrayEntries<T>(JsonSerializerOptions? options = null) • ReadArray<T>(JsonSerializerOptions? options = null) • Read<T>(JsonSerializerOptions? options = null) • Get<T>(JsonSerializerOptions? options = null)Simplifies json reading/writing by adding some extensions methods
Example of usage:
public class JsonConverter : JsonConverter<Line>
{
public override Line? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
if(typeToConvert != typeof(Line))
throw new ArgumentException($"Invalid type ({typeToConvert}).", nameof(typeToConvert));
if(reader.TokenType == JsonTokenType.Null)
return null;
Line line = new();
reader.ReadObjectProperties((ref reader, propertyName) => <--------
{
if(propertyName.SequenceEqual("Keys"u8)) <--------
{
reader.ReadArray((ref reader, index) => <--------
{
line.Add(reader.getByte());
});
}
}
return line;
}
}
All Features:
• JsonReadException
• Utf8JsonReader extensions• void AssertToken(JsonTokenType tokenType)
• void AssertToken(params IEnumerable<JsonTokenType> tokenTypes)
• JsonTokenType ReadOrThrow()
• JsonTokenType ReadTokenOrThrow(params IEnumerable<JsonTokenType> allowedTokenTypes)
• byte ReadByte()
• short ReadInt16()
• int ReadInt32()
• long ReadInt64()
• sbyte ReadSByte()
• ushort ReadUInt16()
• uint ReadUInt32()
• ulong ReadUInt64()
• float ReadSingle()
• double ReadDouble()
• decimal ReadDecimal()
• bool ReadBoolean()
• DateTime ReadDateTime()
• DateTimeOffset ReadDateTimeOffset()
• Guid ReadGuid()
• string? ReadString()
• void ReadObjectProperties(ReadPropertyDelegate readPropertyAction)
• void ReadObject(ReadPropertyDelegate readPropertyAction)
• void ReadArrayEntries(ReadArrayEntryDelegate readArrayEntryAction)
• void ReadArray(ReadArrayEntryDelegate readArrayEntryAction)
• ReadArrayEntries<T>(JsonSerializerOptions? options = null)
• ReadArray<T>(JsonSerializerOptions? options = null)
• Read<T>(JsonSerializerOptions? options = null)
• Get<T>(JsonSerializerOptions? options = null)
|
| Votes | 2 0 1 |
| Error Rate | 0% |
| Data | {} |