1use serde_json::{from_str, to_string_pretty};
2use valico::json_dsl;
3
4fn main() {
5 let params = json_dsl::Builder::build(|params| {
6 params.req_nested("user", json_dsl::array(), |params| {
7 params.req_typed("name", json_dsl::string());
8 params.req_typed("friend_ids", json_dsl::array_of(json_dsl::u64()))
9 });
10 });
11
12 let mut obj = from_str(r#"{"user": {"name": "Frodo", "friend_ids": ["1223"]}}"#).unwrap();
13
14 let state = params.process(&mut obj, None);
15 if state.is_valid() {
16 println!("Result object is {}", to_string_pretty(&obj).unwrap());
17 } else {
18 panic!("Errors during process: {:?}", state);
19 }
20}