v/vlib/json/json_test.v

36 lines
658 B
Go
Raw Normal View History

import json
2019-06-27 14:28:12 +02:00
struct User {
age int
nums []int
last_name string [json:lastName]
2019-06-27 14:28:12 +02:00
}
fn test_parse_user() {
s := '{"age": 10, "nums": [1,2,3], "lastName": "Johnson"}'
2019-06-27 14:28:12 +02:00
u := json.decode(User, s) or {
exit(1)
2019-06-27 14:28:12 +02:00
}
assert u.age == 10
assert u.last_name == 'Johnson'
2019-06-27 14:28:12 +02:00
assert u.nums.len == 3
assert u.nums[0] == 1
assert u.nums[1] == 2
assert u.nums[2] == 3
2019-06-27 14:28:12 +02:00
}
2019-08-22 13:22:16 +02:00
struct Color {
space string
point string [raw]
}
fn test_raw_json_field() {
color := json.decode(Color, '{"space": "YCbCr", "point": {"Y": 123}}') or {
println('text')
return
}
assert color.point == '{"Y":123}'
assert color.space == 'YCbCr'
}
2019-06-27 14:28:12 +02:00