Decimal precision in JSON Schema

痞子三分冷 提交于 2020-01-24 02:39:47

问题


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


回答1:


They replaced it with multipleOf (via v3 divisibleBy).

For 2 decimal places, just add multipleOf: 0.01.




回答2:


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



来源:https://stackoverflow.com/questions/27260587/decimal-precision-in-json-schema

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!