小编Rah*_*hul的帖子

如何迭代层次结构中的 JSON 对象?

我想打印name层次结构深处对象中每个联系人的信息。接触对象可能不会每次都有完全相同数量的字段来形成合适的结构。我怎样才能实现这个目标?

extern crate serde_json;

use serde_json::{Error, Value};
use std::collections::HashMap;

fn untyped_example() -> Result<(), Error> {
    // 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"
      ],
      "contact":{
        "name":"Stefan",
        "age":23,
        "optionalfield":"dummy field",
        "phones":[
          "12123",
          "345346"
        ],
        "contact":{
          "name":"James",
          "age":34,
          "phones":[
            "23425",
            "98734"
          ]
        }
      }
    }"#;

    let mut d: HashMap<String, Value> = serde_json::from_str(&data)?;
    for (str, val) in d {
        println!("{}", str);
        if str …
Run Code Online (Sandbox Code Playgroud)

json rust serde-json

6
推荐指数
1
解决办法
4170
查看次数

标签 统计

json ×1

rust ×1

serde-json ×1