blob: 97a74caaf525c68b6b0e24ee60f257a486dedc67 [file] [log] [blame]
extern crate valico;
extern crate serde_json;
use valico::json_dsl;
use serde_json::{from_str, to_string_pretty};
fn main() {
let params = json_dsl::Builder::build(|params| {
params.req_nested("user", json_dsl::array(), |params| {
params.req_typed("name", json_dsl::string());
params.req_typed("friend_ids", json_dsl::array_of(json_dsl::u64()))
});
});
let mut obj = from_str(r#"{"user": {"name": "Frodo", "friend_ids": ["1223"]}}"#).unwrap();
let state = params.process(&mut obj, &None);
if state.is_valid() {
println!("Result object is {}", to_string_pretty(&obj).unwrap());
} else {
panic!("Errors during process: {:?}", state);
}
}