package com.bitmonlab.osiris.core.validations.aspect.contractViolationProcessor.defaultImplementation; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import org.json.JSONException; import org.json.JSONObject; import com.bitmonlab.osiris.core.validations.annotations.ValidateJsonFormat; public class ValidateJsonFormatImpl implements ConstraintValidator<ValidateJsonFormat, String> { public void initialize(ValidateJsonFormat constraintAnnotation) { } public boolean isValid(String value,ConstraintValidatorContext context) { boolean isValid = false; try { new JSONObject(value); isValid = true; } catch(JSONException ex) { //by default isValid is False if(value.isEmpty()){ // we allow empty input as a valid JSON object isValid = true; } } return isValid; } }