如何判断位置结构的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");}}
}