1 个不稳定版本
0.1.0 | 2022年11月6日 |
---|
#1607 在 数据库接口
307 每月下载量
用于 24 个Crate (3 直接)
23KB
348 行
jsonref解引用JSONSchema $ref
属性并创建一个新的解引用模式。
解引用通常在验证过程中由JSONSchema验证器执行,但有时在独立于验证器的情况下进行此操作是有用的,例如
- 以编程方式分析模式以查看有哪些字段。
- 以编程方式修改模式。
- 传递到从模式创建假JSON数据的工具。
- 将模式传递给表单生成工具。
示例
use serde_json::json;
use jsonref::JsonRef;
let mut simple_example = json!(
{"properties": {"prop1": {"title": "name"},
"prop2": {"$ref": "#/properties/prop1"}}
}
);
let mut jsonref = JsonRef::new();
jsonref.deref_value(&mut simple_example).unwrap();
let dereffed_expected = json!(
{"properties":
{"prop1": {"title": "name"},
"prop2": {"title": "name"}}
}
);
assert_eq!(simple_example, dereffed_expected)
注意:如果JSONSchema有递归的 $ref
,则只会发生第一次递归。这是为了防止无限循环。
依赖关系
~7.5MB
~230K SLoC