77 个版本 (重大变更)
新版本 0.97.1 | 2024 年 8 月 21 日 |
---|---|
0.96.1 | 2024 年 7 月 29 日 |
0.91.0 | 2024 年 3 月 5 日 |
0.88.1 | 2023 年 12 月 14 日 |
0.23.0 | 2020 年 11 月 24 日 |
在 编码 中排名第 353
每月下载量 6,714
用于 24 个crate(直接使用 4 个)
110KB
3K SLoC
nu-json
是 serde_hjson 的分支。
对此 crate 的更改记录在 CHANGELOG 中。
Hjson 的 Rust 实现基于 Serde JSON 序列化库。
这是一个用于解析和生成人类 JSON 的 Rust 库 Hjson。它基于 Serde,这是一个高性能的通用序列化框架。
安装
此 crate 与 Cargo 一起使用,可以在 crates.io 上找到,其 Cargo.toml
看起来像这样
[dependencies]
serde = "1"
nu-json = "0.76"
从命令行
使用
cargo add serde
cargo add nu-json
用法
extern crate serde;
extern crate nu_json;
use nu_json::{Map,Value};
fn main() {
// Now let's look at decoding Hjson data
let sample_text=r#"
{
## specify rate in requests/second
rate: 1000
array:
[
foo
bar
]
}"#;
// Decode and unwrap.
let mut sample: Map<String, Value> = nu_json::from_str(&sample_text).unwrap();
// scope to control lifetime of borrow
{
// Extract the rate
let rate = sample.get("rate").unwrap().as_f64().unwrap();
println!("rate: {}", rate);
// Extract the array
let array : &mut Vec<Value> = sample.get_mut("array").unwrap().as_array_mut().unwrap();
println!("first: {}", array.first().unwrap());
// Add a value
array.push(Value::String("baz".to_string()));
}
// Encode to Hjson
let sample2 = nu_json::to_string(&sample).unwrap();
println!("Hjson:\n{}", sample2);
}
文档
目前,关于 serde_hjson / serde_json 的文档对 nu-json 也适用。
依赖关系
~0.6–1.2MB
~23K SLoC