- 注释符合标准的 json5 注释
- 注释中以 @ 开头的字段,均被视作「指令」,指令名应符合 JS 的函数命名规则,指令名后括号内的内容被视为指令的参数,其个数不限。 非 @ 开头的注释内容,均被视作属性的描述
- 当注释存在多行时,应将其合并视作一个属性的注释进行解析。
{
"age": 25, // 年龄 @min(0) @type(integer)
}
-
string 类型
minLength(2)
maxLength(8)
format() 此指令的参数参考 JsonSchema 官网中的 format 规则
pattern() 参数为自定义的正则匹配规则
dateTime 无参数 正确的时间格式 如:2018-11-13T20:20:39+00:00 -
number 类型
minimum(0)
maximum(2)
multipleOf(10) 10 的整数倍
integer 类型是整数 -
object 类型 maxProperties(10)
minProperties(3)
optional 默认对象中所有的属性都是必须的,添加 optional 后为非必须属性
array 类型
maxItems(10)
minItems(2)
uniqueItems -
其他指令
type 无需自己填写 如果是可变的 type 举例 @type(string, null)
enum(live, album, instabook) 枚举
timeStamp 时间戳