I have a suggestion. The validator is using it's own object classes JsonParser and JsonValue.
The issue is that when a service needs to parse the payload for it's own needs, the parse will be done two times. Once by the service and once for the validator.
If we can use existing json parsers like jackson or Gson then we can parse it once and hand the parsed tree to the validator