How to use Jackson ObjectMapper to parse json response to java objects

HemangNirmal picture HemangNirmal · Aug 28, 2014 · Viewed 9.5k times · Source

Here is my Json response

"postedevent": [
    {
        "status": "true",
        "event_id": "800",
        "num_of_image_event": "0",
        "title": "Testy",
        "photo": "http://54.200.110.49/checkplanner/img/upload/21310059819profile_image_1409303464798.png",
        "event_date": "2014-08-29",
        "fullDate": "Friday - August 29, 2014",
        "event_from": "12:00AM",
        "event_to": "12:15AM",
        "city": "Ahm",
        "state": "CA",
        "member_id": "471",
        "username": "Krishna Mohan",
        "pencil": "yes",
        "attend": "yes",
        "company": "Development"
    }
 ]

this is java class to get java objs from json response

public class PostedEvent {

String status;
int event_id;
int num_of_image_event;
String title;
String photo;
String event_date;
String fullDate;
String event_from;
String event_to;
String city;
String state;
String member_id;
String username;
String pencil;
String attend;
String company;


}


public class PostedEvnetsList 
{
     ArrayList<PostedEvent> postedevent;
}

And I am parsing in this way

InputStream is = WebResponse.getResponse(url);
ObjectMapper mapper = new ObjectMapper();
PostedEvnetsList mList = null;
mList = mapper.readValue(is,PostedEvnetsList.class);
eventList = mList.postedevent;

I am getting following parse exception

jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "status" (Class com.example.jsonproforexam.PostedEvent), not marked as ignorable

I have declared same fields as in json response then why I am geting this exception Please help

Answer

Mena picture Mena · Aug 28, 2014

Your fields of PostedEvent and the PostedEvent field of PostedEventsList are not accessible.

You must set them as public (not recommended) or provide public getters and setters for them POJO-style.

Then Jackson will be able to de-serialize and the error will go away.