rust使用serde_json转换Value为rust中的数据类型

为了方便转换未知json数据,我们可以使用serde提供的value类型来进行转换,将json字符串转化为Value值,然后可以快速使用get方法来获取值:

        let json_str = r#"
            {
                "name": "John",
                "age": 30,
                "city": "New York",
                "info": {
                    "work": "code",
                    "phone": 15670339888,
                    "password": "123456"
                }
            }
        "#;
        let map_obj: Value = serde_json::from_str(json_str).expect("Invalid JSON");
        let name = map_obj.get("name");
        println!("name value is:{name:?}");

但是获取到的值依然是Value类型,想要转换为rust中的类型,就可以使用Value类型提供的方法:

类似于类型转换,例如转换为i64类型:

let candidate_num = map_lottery.get("candidate_num").unwrap().as_i64().unwrap();

得到的类型就是i64的。

转换为 as_array,得到的就是&Vec<Value>类型的值:

相关推荐

  1. 3.Rust数据类型

    2024-05-13 12:16:03       38 阅读
  2. Rust - 数据类型

    2024-05-13 12:16:03       37 阅读
  3. Rust-10-数据类型

    2024-05-13 12:16:03       25 阅读
  4. Rust Vec<u8> 类型

    2024-05-13 12:16:03       37 阅读
  5. rust类型转换和一些智能指针用法(四)

    2024-05-13 12:16:03       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-13 12:16:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-13 12:16:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-13 12:16:03       82 阅读
  4. Python语言-面向对象

    2024-05-13 12:16:03       91 阅读

热门阅读

  1. centos的常用命令

    2024-05-13 12:16:03       32 阅读
  2. MySQL运维总结

    2024-05-13 12:16:03       37 阅读
  3. LeetCode 2391. 收集垃圾的最少总时间

    2024-05-13 12:16:03       38 阅读
  4. MySQL Undo Log、Redo Log、bin Log

    2024-05-13 12:16:03       30 阅读
  5. 哲学家就餐问题

    2024-05-13 12:16:03       34 阅读
  6. OpenCV图像转换处理

    2024-05-13 12:16:03       36 阅读
  7. C++贪心算法

    2024-05-13 12:16:03       35 阅读