Decimal precision in JSON Schema

2019-04-21 20:05发布

I want to have my JSON Schema validate that no more than two decimal places are sent to my REST api.

From what I can see in the latest JSON Schema RFC (v4) doesn't allow this. V1 had a maxDecimals validator.

Does anyone know why that was taken out?

I have a field that only holds two decimals when I store it in the database, and I do not just want to round down to two decimals. That would be changing the input quite dramatically for some users. So I want to reject any greater precision and force them to round them selves.

I can of course do this using a custom validator that I write myself, but I would rather not unless I absolutely have to.

Is there another way of indicating this in v4?

Thanks

2条回答
迷人小祖宗
2楼-- · 2019-04-21 20:43

I would suggest { "type": "number", "multipleOf": 0.01 } rather than { "type": "integer", "multipleOf": 0.01 }.

See http://spacetelescope.github.io/understanding-json-schema/reference/numeric.html#multiples

查看更多
祖国的老花朵
3楼-- · 2019-04-21 20:51

They replaced it with multipleOf (via v3 divisibleBy).

For 2 decimal places, just add multipleOf: 0.01.

查看更多
登录 后发表回答