fn parseFromSlice(comptime T: type, allocator: Allocator, s: []const u8, options: ParseOptions) ParseError(Scanner)!Parsed(T)
[src]
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.
DocTests
test parseFromSlice { var parsed_str = try parseFromSlice([]const u8, testing.allocator, "\"a\\u0020b\"", .{}); defer parsed_str.deinit(); try testing.expectEqualSlices(u8, "a b", parsed_str.value); const T = struct { a: i32 = -1, b: [2]u8 }; var parsed_struct = try parseFromSlice(T, testing.allocator, "{\"b\":\"xy\"}", .{}); defer parsed_struct.deinit(); try testing.expectEqual(@as(i32, -1), parsed_struct.value.a); // default value try testing.expectEqualSlices(u8, "xy", parsed_struct.value.b[0..]); }