pub fn main(world: World) -> Void raises { let data: Span = "{\"user\":{\"name\":\"zero\",\"count\":42,\"active\":true,\"scores\":[7,42]},\"empty\":[],\"items\":[{\"id\":1},{\"id\":2}]}" let object_count: Maybe = std.json.objectFieldCount(data) var key_buf: [16]u8 = [0_u8; 16] let key0: Maybe> = std.json.objectKey(key_buf, data, 0) let value0: Maybe> = std.json.objectValue(data, 0) let user: Maybe> = std.json.field(data, "user") let scores: Maybe> = std.json.path(data, "user.scores") let score_count: Maybe = std.json.arrayCount("[7,42]") let score1: Maybe> = std.json.arrayValue("[7,42]", 1) var name_buf: [16]u8 = [0_u8; 16] let name: Maybe> = std.json.pathString(name_buf, data, "user.name") let count: Maybe = std.json.pathU32(data, "user.count") let active: Maybe = std.json.pathBool(data, "user.active") let empty_count: Maybe = std.json.arrayCount("[]") let empty_object_count: Maybe = std.json.objectFieldCount("{}") let bad_array: Maybe = std.json.arrayCount("[1,]") let bad_path: Maybe> = std.json.path(data, "user.") let bad_key: Maybe> = std.json.objectKey(key_buf, "{\"a\":1,}", 0_usize) let bad_object_value: Maybe> = std.json.objectValue("{\"a\":1,}", 0_usize) let bad_array_value: Maybe> = std.json.arrayValue("[1,]", 0_usize) if object_count.has && object_count.value == 3_usize && key0.has && std.mem.eql(key0.value, "user") && value0.has && user.has && std.mem.eql(value0.value, user.value) && scores.has && std.mem.eql(scores.value, "[7,42]") && score_count.has && score_count.value == 2_usize && score1.has && std.mem.eql(score1.value, "42") && name.has && std.mem.eql(name.value, "zero") && count.has && count.value == 42_u32 && active.has && active.value && empty_count.has && empty_count.value == 0_usize && empty_object_count.has && empty_object_count.value == 0_usize && !bad_array.has && !bad_path.has && !bad_key.has && !bad_object_value.has && !bad_array_value.has { check world.out.write("std json cursors ok\n") return } check world.err.write("std json cursors failed\n") }