Skip to content

Latest commit

 

History

History
47 lines (35 loc) · 1.25 KB

json.zh.md

File metadata and controls

47 lines (35 loc) · 1.25 KB

序列化和反序列化,非结构化 JSON

[![serde-json-badge]][serde-json] [![cat-encoding-badge]][cat-encoding]

这个serde_json箱子提供from_str这个解析函数,它需要 JSON 的&str

非结构化 JSON 可以解析为,一个通用的serde_json::Value类型,它能够表示任何有效 JSON 数据的类型。

下面的示例显示,正在解析 JSON 的 &str。使用json!宏:

#[macro_use]
extern crate serde_json;

use serde_json::{Value, Error};

fn main() -> Result<(), Error> {
    let j = r#"{
                 "userid": 103609,
                 "verified": true,
                 "access_privileges": [
                   "user",
                   "admin"
                 ]
               }"#;

    let parsed: Value = serde_json::from_str(j)?;

    let expected = json!({
        "userid": 103609,
        "verified": true,
        "access_privileges": [
            "user",
            "admin"
        ]
    });

    assert_eq!(parsed, expected);

    Ok(())
}