如何判断位置结构的JSON串的成员的数据类型,给一个Rust的例子,其中包含对数组的判断?
在Rust中,你可以使用serde_json库来处理JSON数据,并通过serde_json::Value类型的方法来判断JSON串中成员的数据类型。以下是一个示例,包含对数组的判断:
use serde_json::{Value};
fn main() {
let json_str = r#"{"name":"John","age":30,"city":"New York","hobbies":["reading","coding","gaming"]}"#;
// 解析JSON字符串
let json: Value = serde_json::from_str(json_str).unwrap();
// 判断成员的数据类型
if let Some(name) = json.get("name") {
if name.is_string() {
println!("Name is a string");
}
}
if let Some(age) = json.get("age") {
if age.is_number() {
println!("Age is a number");
}
}
if let Some(city) = json.get("city") {
if city.is_string() {
println!("City is a string");
}
}
if let Some(hobbies) = json.get("hobbies") {
if hobbies.is_array() {
println!("Hobbies is an array");
}
}
}