/
test_json.zig
76 lines (61 loc) · 1.65 KB
/
test_json.zig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
const std = @import("std");
const utils = @import("lib/utils.zig");
const json = @import("lib/json.zig");
const types = @import("lib/types.zig");
const List = types.List;
const Node = types.Node;
pub fn newlist() !*List {
return try List.init();
}
fn make_test_json_data_1() !*List {
var list = try newlist();
return list;
}
fn make_test_json_data_2() !*List {
var list = try newlist();
try list.addInt(1);
return list;
}
fn make_test_json_data_3() !*List {
var list = try newlist();
try list.addStr("fdsa");
return list;
}
fn make_test_json_data_4() !*List {
var list = try newlist();
try list.addInt(-123);
try list.addStr("fdsa");
return list;
}
fn make_test_json_data_5() !*List {
var list = try newlist();
const inner_list = try newlist();
try list.addList(inner_list);
return list;
}
fn make_test_json_data_6() !*List {
var list = try newlist();
try list.addInt(1);
try list.addStr("a");
{
const inner_list = try newlist();
try inner_list.addInt(2);
try inner_list.addStr("b");
try list.addList(inner_list);
}
try list.addInt(3);
try list.addStr("c");
return list;
}
pub fn main() !void {
// const tree = try make_test_json_data_1();
// const tree = try make_test_json_data_2();
// const tree = try make_test_json_data_3();
// const tree = try make_test_json_data_4();
// const tree = try make_test_json_data_5();
// const tree = try make_test_json_data_6();
var buf: [1024]u8 = undefined;
const input_json = utils.readStdinAll(&buf);
const tree = json.parse(input_json);
json.print(tree);
}