JsonParse
Custom jsonParse that is mostly used to enable
the ability to parse hex string values into native int
types,
since parsing hex values is not part of the JSON RFC we need to rely on
the hability of zig to create a custom jsonParse method for structs.
Signature
pub fn jsonParse(comptime T: type, allocator: Allocator, source: anytype, options: ParseOptions) ParseError(@TypeOf(source.*))!T
JsonParseFromValue
Custom jsonParseFromValue that is mostly used to enable
the ability to parse hex string values into native int
types,
since parsing hex values is not part of the JSON RFC we need to rely on
the hability of zig to create a custom jsonParseFromValue method for structs.
Signature
pub fn jsonParseFromValue(comptime T: type, allocator: Allocator, source: Value, options: ParseOptions) ParseFromValueError!T
JsonStringify
Custom jsonStringify that is mostly used to enable
the ability to parse int values as hex and to parse address with checksum
and to treat array and slices of u8
as hex encoded strings. This doesn't
apply if the slice is const
.
Parsing hex values or dealing with strings like this is not part of the JSON RFC we need to rely on the hability of zig to create a custom jsonStringify method for structs
Signature
pub fn jsonStringify(comptime T: type, self: T, writer_stream: anytype) @TypeOf(writer_stream.*).Error!void
InnerParseValueRequest
Inner parser that enables the behaviour described above.
We don't use the innerParse
from slice because the slice gets parsed
as a json dynamic Value
.
Signature
pub fn innerParseValueRequest(comptime T: type, allocator: Allocator, source: Value, options: ParseOptions) ParseFromValueError!T
InnerStringify
Inner stringifier that enables the behaviour described above.
Signature
pub fn innerStringify(value: anytype, stream_writer: anytype) !void