diff options
author | Indrajith K L | 2022-12-03 17:00:20 +0530 |
---|---|---|
committer | Indrajith K L | 2022-12-03 17:00:20 +0530 |
commit | f5c4671bfbad96bf346bd7e9a21fc4317b4959df (patch) | |
tree | 2764fc62da58f2ba8da7ed341643fc359873142f /v_windows/v/examples/json.v | |
download | cli-tools-windows-master.tar.gz cli-tools-windows-master.tar.bz2 cli-tools-windows-master.zip |
Diffstat (limited to 'v_windows/v/examples/json.v')
-rw-r--r-- | v_windows/v/examples/json.v | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/v_windows/v/examples/json.v b/v_windows/v/examples/json.v new file mode 100644 index 0000000..841d9e2 --- /dev/null +++ b/v_windows/v/examples/json.v @@ -0,0 +1,40 @@ +import json + +struct User { + name string + age int +mut: + is_registered bool +} + +fn main() { + s := '[{ "name":"Frodo", "age":25}, {"name":"Bobby", "age":10}]' + mut users := json.decode([]User, s) or { + eprintln('Failed to parse json') + return + } + for user in users { + println('$user.name: $user.age') + } + println('') + for i, user in users { + println('$i) $user.name') + if !user.can_register() { + println('Cannot register $user.name, they are too young') + } else { + users[i].register() + println('$user.name is registered') + } + } + // Let's encode users again just for fun + println('') + println(json.encode(users)) +} + +fn (u User) can_register() bool { + return u.age >= 16 +} + +fn (mut u User) register() { + u.is_registered = true +} |