rust将json字符串直接转为map对象或者hashmap对象

有些时候我们还真的不清楚返回的json数据里面到底有哪些数据,数据类型是什么等,这个时候就可以使用批处理的方式将json字符串转为一个对象,然后通过这个对象的get方法来获取json里面的数据。

rust 复制代码
    pub async fn test_json(&self) {
        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:?}");
        let info = map_obj.get("info");
        let mut phone;
        if info.is_some() {
            phone = info.expect("").get("phone");
            println!("phone number is: {phone:?}");
        }
    }

输出结果:

如果你使用的是reqwest请求库获取到的响应数据,那么你可以直接使用 response.json()方法来解析json数据,并将返回值声明为Value类型,得到的结果就是hashmap对象了:

得到的结果数据:

相关推荐
Java成神之路-10 小时前
SpringMVC 响应实战指南:页面、文本、JSON 返回全流程(Spring系列13)
java·spring·json
Tomhex10 小时前
Rust数组与Vec的核心差异解析
rust
我命由我1234513 小时前
在 React 项目中,可以执行 npm start 命令,但是,无法执行 npm build 命令
前端·javascript·vue.js·react.js·前端框架·json·ecmascript
带刺的坐椅14 小时前
RFC 9535:JSONPath 的标准化之路
java·json·jsonpath·snack4·rfc9535
橘子编程16 小时前
编程语言全指南:从C到Rust
java·c语言·开发语言·c++·python·rust·c#
孙同学202016 小时前
如何将 JSON 数据转换为 Excel 工作表
python·json·excel
亿牛云爬虫专家17 小时前
学术文献爬虫 OOM 崩溃与 403 风暴
爬虫·rust·爬虫代理·403·oom killer·学术文献·403 forbidden
ID_180079054731 天前
除了 Python,还有哪些语言可以解析 JSON 数据?
开发语言·python·json
土豆12501 天前
Tauri 入门与实践:用 Rust 构建你的下一个桌面应用
前端·rust
土豆12501 天前
Rust 错误处理实战:anyhow + thiserror 的黄金搭档
rust