2个不稳定版本
0.2.0 | 2020年4月12日 |
---|---|
0.1.0 | 2020年4月10日 |
#1658 in 数据结构
80KB
307 行
Spectacle
Spectacle
递归遍历它被调用的结构,访问每个结构字段、枚举变体等。它通过Any
特质操作。它还包括访问器和选择器的轨迹,描述如何从根对象到达当前位置。有了这两样东西,就可以轻松找到并访问感兴趣的数据部分。
通常情况下,检查不应是首选工具。然而,有时它们是不可或缺的。这个crate的发明动机是:编写一个强类型化的serde编解码器,用于大型、复杂、深度嵌套、未详细说明的JSON数据块。从外部向内部工作,可以轻松编写最外层容器的类型。然而,确定某些不常见内部字段的适当类型很复杂,因为有大量示例,深度嵌套。
解决方案是进行检查,特别访问所有仍然是serde_json::Value
的值。通过打印每个值的表示,可以发现适当的编码方式。
特性
-
Spectacle
特质:包含字段、变体等的访问者 -
impl Spectaclefor $primitive
- (默认)功能门控
impl Spectacle for $collection
- 功能门控
impl Spectacle for serde_json::Value
-
#[derive(Spectacle)]
依赖关系
~2.5MB
~63K SLoC