1 个不稳定版本
0.1.0 | 2022 年 2 月 23 日 |
---|
#7 在 #flatten 中
1,341 每月下载量
10KB
241 代码行
展平 serde Json
这个包展平类似于 Elasticsearch 的格式的 serde_json
Object
。
示例
没有需要做的
{
"id": "287947",
"title": "Shazam!",
"release_date": 1553299200,
"genres": [
"Action",
"Comedy",
"Fantasy"
]
}
展平为
{
"id": "287947",
"title": "Shazam!",
"release_date": 1553299200,
"genres": [
"Action",
"Comedy",
"Fantasy"
]
}
对象
{
"a": {
"b": "c",
"d": "e",
"f": "g"
}
}
展平为
{
"a.b": "c",
"a.d": "e",
"a.f": "g"
}
对象数组
{
"a": [
{ "b": "c" },
{ "b": "d" },
{ "b": "e" },
]
}
展平为
{
"a.b": ["c", "d", "e"],
}
数组中的正常值对象
{
"a": [
42,
{ "b": "c" },
{ "b": "d" },
{ "b": "e" },
]
}
展平为
{
"a": 42,
"a.b": ["c", "d", "e"],
}
对象数组的对象数组的...
{
"a": [
"b",
["c", "d"],
{ "e": ["f", "g"] },
[
{ "h": "i" },
{ "e": ["j", { "z": "y" }] },
],
["l"],
"m",
]
}
展平为
{
"a": ["b", "c", "d", "l", "m"],
"a.e": ["f", "g", "j"],
"a.h": "i",
"a.e.z": "y",
}
生成的字段名与已存在的字段冲突
{
"a": {
"b": "c",
},
"a.b": "d",
}
展平为
{
"a.b": ["c", "d"],
}
依赖
~355–750KB
~17K SLoC