book_cookbook_json_names/book_cookbook_json_names.rs
1use trivet::{
2 parse_from_stdin,
3 parsers::json::{JSONParser, JSON},
4 ParseResult,
5};
6
7pub fn main() -> ParseResult<()> {
8 let mut parser = parse_from_stdin();
9 let mut jp = JSONParser::new();
10 let doc = jp.parse_value_ws(&mut parser)?;
11
12 // Look for and print any element for name at the top level, but only if the
13 // input is a JSON object.
14 if let JSON::Object(map) = doc {
15 if let Some(value) = map.get("name") {
16 println!("name is {}", value);
17 }
18 }
19 Ok(())
20}