unsure if it is a bug in json-p spec or here.
in json-schema 0.0 or 1.0 are valid integer values, but not for JsonNumber::isIntegral.
instead of
public boolean isIntegral() {
bigdecimal().scale() == 0
}
it should be
public boolean isIntegral() {
bigdecimal().stripTrailingZeros().scale() <= 0
}