Skip to content

基于Java的Json描述器,解决项目当中字段多,且多个字段需要进行判定以及校验的问题

License

Notifications You must be signed in to change notification settings

ycsky98/Json-Schema-Calibrator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Json-Schema-Calibrator

Github Releases GitHub Stargazers GitHub last commit

基于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"));
  • 剩余情况如上而定

About

基于Java的Json描述器,解决项目当中字段多,且多个字段需要进行判定以及校验的问题

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages