use std::io;
use std::io::Cursor;
use json_streaming::blocking::*;
use json_streaming::shared::*;
fn main() -> JsonParseResult<(), io::Error> {
let json = "[1, 2, 3, 4, 5, -6, 7, 8, 9, 10]";
let mut r = Cursor::new(json.as_bytes());
let mut json_reader = JsonReader::new(128, &mut r);
json_reader.expect_start_array()?;
println!("{}", json_reader.expect_number::<u32>()?);
let n: u32 = json_reader.expect_number()?;
println!("{}", n);
println!("{}", json_reader.expect_number::<i16>()?);
let f: f64 = json_reader.expect_number()?;
println!("{:1.2?}", f);
let num = json_reader.expect_raw_number()?;
println!("raw: {:?}", num.0);
let f: f32 = num.parse().unwrap();
println!("{:1.1?}", f);
match json_reader.expect_number::<u32>() {
Ok(n) => println!("num: {}", n),
Err(JsonParseError::Parse(msg, location)) => println!("not a u32 number: {}@{}", msg, location),
Err(_) => panic!("err"),
}
Ok(())
}