一个数字的MaxLength的JSON Schema属性
本文关键字:MaxLength JSON Schema 属性 数字 一个 | 更新日期: 2023-09-27 18:13:14
我需要限制Amount字段,该字段是十进制类型,长度为12+4。即,最大整数值可以是999999999999,而最大小数数是4。我用的是NewtonSoft。JSON用于模式验证。
我尝试了下面的模式,但它似乎不工作。
{
"type":"object",
"required":false,
"properties":{
"Product": {
"type":"object",
"required":false,
"properties":{
"Amount": {
"type":"number",
"required":true,
"blank":false,
"minLength":1,
"maxDecimal":4 ,
"minimum":0,
"maximum": 999999999999
},
"ProductID": {
"type":"string",
"required":false
},
"ProductType": {
"type":"string",
"required":false
}
}
}
}
}
谁能给我指路吗?提前谢谢。
我的输入JSON字符串如下,
{
"Product": {
"Amount": 888888888888.2222,
"ProductType": "Notes",
"ProductID": "GBPN"
}
}
From Json-Schema docs:
3.2。数字实例的验证
JSON规范没有定义数值的比例或精度的任何界限。JSON模式也没有定义任何这样的边界。这意味着由JSON Schema处理的数字实例可以任意大和/或具有任意大的小数部分,而不管底层编程语言处理此类数据的能力。
您将需要为此开发一个自定义验证。注意Json。Net使用Json-Schema草案。
在JSON模式中,minLength和maxLength只适用于字符串类型的属性。