You should remove the prefix Struct from all your structs. It doesn't mean anything. The name Json for your own struct which doesn't deal with JSON, is probably not the best choice, what does that JSON object means or where it comes from is probably a better name. The struct doesn't care it originated from JSON.
actually, with the transform url i added all the names got changed the struct is now called Root.
...
let stream = Deserializer::from_str(&file_content).into_iter::<Root>();
for value in stream {
// this prints out the json as before
println!("{:?}",value);
// but i still seem to be unable to access anything inside value.
}
...
match value {
Ok(val) => {
// We have data, do something with it
let r = json!(val);
let c = &r["archive"]["stats"]["compressed_size"];
println!("{}", c);
},
Err(err) => {
// Something went wrong, print an error!
println!("Error: {} while trying to read json from {}", err, &file_content);
}