这是rust解析json数据的一个简单示例。现在解析后,我如何找到一个serde_json::Value
的键,例如:"name", "age", "phones"
在这个例子中?
fn json_hello_world() {
// Some JSON input data as a &str. Maybe this comes from the user.
let data = r#"
{
"name": "John Doe",
"age": 43,
"phones": [
"+44 1234567",
"+44 2345678"
]
}"#;
// Parse the string of data into serde_json::Value.
let value: serde_json::Value = serde_json::from_str(data).unwrap();
println!(
"Please call {} at the number {}",
value["name"], value["phones"][0]
);
/*
// how do I print out the keys?
for key in value.keys() {
println!("{}", key);
}
*/
}
fn main() {
json_hello_world();
}
1条答案
按热度按时间i1icjdpr1#
如果
value
是一个对象(而不是数组或其他东西),则可以使用as_object
:Playground