1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2018年6月25日 |
---|
#1473 在 数据结构
10KB
184 行
flats
🥞 将嵌套结构扁平化为单维映射
📦 安装
将以下内容添加到您的 cargo 项目的 Cargo.toml
文件中。
[dependencies]
flats = "0.1"
🤸 使用
#[macro_use]
extern crate serde_json;
extern crate flats;
use std::collections::BTreeMap;
use flats::{flatten_value, Scalar};
fn main() {
let flat: BTreeMap<String, Scalar> = flatten_value(
json!({
"name": "John Doe",
"address": {
"city": "nyc"
},
"phones": [
"+44 1234567",
"+44 2345678"
]
})
);
let mut expected: BTreeMap<String, Scalar> = BTreeMap::new();
expected.insert("name".into(), "John Doe".into());
expected.insert("address.city".into(), "nyc".into());
expected.insert("phones[0]".into(), "+44 1234567".into());
expected.insert("phones[1]".into(), "+44 2345678".into());
assert_eq!(expected, flat);
}
Doug Tangren (softprops) 2018
依赖项
~0.7–1.4MB
~32K SLoC