How to validate a JSON object in java?

前端 未结 4 1797
一个人的身影
一个人的身影 2020-12-09 11:07

I use sf.json library to map form data for incoming request in my web application in java.

Lets say the incoming request is http://localhost:8080/app/addProfile with

4条回答
  •  借酒劲吻你
    2020-12-09 11:14

    You can use the Json validator: - https://github.com/fge/json-schema-validator

    Or you can simply try to parse the Json using Google Gson and catch syntax exception to validate it like below :-

    try{
    JsonParser parser = new JsonParser();
    parser.parse(passed_json_string);
    } 
    catch(JsonSyntaxException jse){
    System.out.println("Not a valid Json String:"+jse.getMessage());
    }
    

    For generic data validation, define the rules in your Json schema and then just validate the incoming Json against this schema.
    In schema you can define the type of values it can contain, range etc.
    For schema generation, you can use online tool like :- http://jsonschema.net/#/

    You can refer this post, to have quick understanding of json schema:- http://json-schema.org/example1.html

    Example:-

    "price": {
                "type": "number",
                "minimum": 0,
                "exclusiveMinimum": true
            }
    

    Above code defines the price in Json schema, when Json object is validated against this schema, it will ensure that price shouldn't be zero, it should be more than zero and it should be a number. If a string or zero or some negative value is passed in price, the validation will fail.

提交回复
热议问题