parseFromSlice
Parses the json document from s and returns the result packaged in a std.json.Parsed.
You must call deinit() of the returned object to clean up allocated resources.
If you are using a std.heap.ArenaAllocator or similar, consider calling parseFromSliceLeaky instead.
Note that error.BufferUnderrun is not actually possible to return from this function.
Function parameters
Parameters
- T:type
- s:[]const u8
Controls how to deal with various inconsistencies between the JSON document and the Zig struct type passed in.
Types
- ParseOptions
- Controls how to deal with various inconsistencies between the JSON document and the Zig struct type passed in.
Functions in this namespace
Functions
- parseFromSlice
- Parses the json document from `s` and returns the result packaged in a `std.json.Parsed`.
- parseFromSliceLeaky
- Parses the json document from `s` and returns the result.
- parseFromTokenSource
- `scanner_or_reader` must be either a `*std.json.Scanner` with complete input or a `*std.json.Reader`.
- parseFromTokenSourceLeaky
- `scanner_or_reader` must be either a `*std.json.Scanner` with complete input or a `*std.json.Reader`.
- parseFromValue
- Like `parseFromSlice`, but the input is an already-parsed `std.json.Value` object.
- ParseError
- The error set that will be returned when parsing from `*Source`.
- innerParse
- This is an internal function called recursively
- innerParseFromValue
- This is an internal function called recursively
Error sets in this namespace
Error Sets
Source
Implementation
pub fn parseFromSlice(
comptime T: type,
allocator: Allocator,
s: []const u8,
options: ParseOptions,
) ParseError(Scanner)!Parsed(T) {
var scanner = Scanner.initCompleteInput(allocator, s);
defer scanner.deinit();
return parseFromTokenSource(T, allocator, &scanner, options);
}