0

I am passing input to my API like this:

{
  "param1": "value1",
  "param2":"value2",
  "param3": {
               "min": "xyz",
               "max": "abc"
            }
}

I want to parse this JSON request into object like :

class Filter {
       String param1;
       String param2;
       //frequency object will consist of maximum and minimum attributes
       Frequency frequency

}

How it is possible to automatically instantiate filter object in my API method?

Thanks in advance.

1 Answer 1

3

You can use jackson mapper

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.7.2</version>
</dependency>

or if You using Jersey instead

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-json-jackson</artifactId>
    <version>2.22.2</version>
</dependency>

ObjectMapper mapper = new ObjectMapper();
String jsonString = "{\"param1\":\"Bar\",\"param2\":\"Foo\",\"frequency\":{\"min\":0,\"max\":10}}";
Filter filter = mapper.readValue(jsonString, Filter.class);
System.out.println(mapper.writeValueAsString(filter));

public class Filter {
    public String param1;
    public String param2;
    public Frequency frequency;
}

public class Frequency {
    public int min;
    public int max;
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.