Skip to main content

example01/
example01.rs

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}