Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ycsky98/json-schema-calibrator
基于Java的Json描述器,解决项目当中字段多,且多个字段需要进行判定以及校验的问题
https://github.com/ycsky98/json-schema-calibrator
json json-schema schema
Last synced: about 1 month ago
JSON representation
基于Java的Json描述器,解决项目当中字段多,且多个字段需要进行判定以及校验的问题
- Host: GitHub
- URL: https://github.com/ycsky98/json-schema-calibrator
- Owner: ycsky98
- License: apache-2.0
- Created: 2022-07-08T03:16:57.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-03-19T14:01:45.000Z (almost 2 years ago)
- Last Synced: 2023-08-06T13:59:25.645Z (over 1 year ago)
- Topics: json, json-schema, schema
- Language: Java
- Homepage:
- Size: 155 KB
- Stars: 10
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Json-Schema-Calibrator
# 基于Java的Json描述器
项目采用的jdk版本为17### 1.组件介绍
---
ArraySchema是一个用于数组的描述器,例如[{"name":"张三"}],
这样一个json数组,
那么使用的描述方式就是
JSON.array().item(
JSON.object()
.attr("name", JSON.string())
);来满足你对这段JSON的描述
---
BooleanSchema是一个用于描述Boolean类型的描述器,
例如要描述一个boolean类型
JSON.bool();
---
NumberSchema是一个用于描述数字类型的描述器,例如描述一个Number类型JSON.number();
---
StringSchema是一个用于描述字符串类型的描述器,例如描述一个String类型JSON.string();
---
ObjectSchema是一个用于描述嵌套类型过多的一个描述器,例如要描述一个对象类型
{"name":"张三", "age": 18, "isBoy": true}JSON.object()
.attr("name", JSON.string())
.attr("age", JSON.number())
.attr("isBoy", JSON.bool())- 如何进行Schema的描述校验
- 通过Verify.verify(json, schema), 即可进行json的校验
## New Version#### 1.新增自定义异常
#### 2.修改了存储方式
---
1.如何自定义异常
JSON.number().min(10)
.error(new RuntimeException("最小长度不能为10"));
- 剩余情况如上而定