21个版本 (4个重大更新)

0.5.0 2024年7月20日
0.4.2 2024年6月22日
0.2.2 2024年3月25日

#2519解析器实现

Download history 307/week @ 2024-04-26 30/week @ 2024-05-03 135/week @ 2024-05-10 16/week @ 2024-05-17 164/week @ 2024-05-24 27/week @ 2024-05-31 5/week @ 2024-06-07 216/week @ 2024-06-14 167/week @ 2024-06-21 24/week @ 2024-06-28 103/week @ 2024-07-05 111/week @ 2024-07-12 117/week @ 2024-07-19 143/week @ 2024-07-26 12/week @ 2024-08-02

每月383次下载
用于 sysutil

AGPL-3.0或更高版

20KB
468

rsjson

  • Json文件解析库

crates.io仓库

docs.rs文档


安装

  • 添加到Cargo.toml
...
[dependencies]
rsjson = "0.5.0"
  • 或在终端运行以下命令
cargo add rsjson

导入

  • 将以下行添加到您的代码中
use rsjson;

lib.rs:

Json文件解析库

安装

...
[dependencies]
rsjson = "0.5.0";

或运行

cargo add rsjson

导入

use rsjson;

代码示例

  • 读取和解析json文件
let json: Result<rsjson::Json, String> = rsjson::Json::fromFile("/path/to/file.json");
  • 从字符串中读取和解析json结构
  • 字符串可以是“普通”的或原始的
let json: Result<rsjson::Json, String> = rsjson::json!(
    r#"{
        "key" : "value",
        "second_key" : ["one", "two"]
    }"#
);
  • 在上述两种情况下,请记住处理可能出现的错误(例如,使用 match)或调用 unwrap()

  • 创建一个空的json实例

let json = rsjson::Json::new();
  • 添加一个节点
json.addNode(
    rsjson::Node::new(
        "nodeLabel",
        rsjson::NodeContent::Int(32)
    )
);
  • 编辑节点的标签
json.editNode(
    "nodeLabel",
    "newNodeLabel"
);
  • 编辑节点的内容
json.editContent(
    "nodeLabel",
    rsjson::NodeContent::Bool(true)
);
  • 删除一个节点
json.removeNode(
    "nodeLabel"
);

无运行时依赖