这是我的 Json 响应
"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"
}
]
这是从 json 响应获取 java 对象的 java 类
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;
}
我是这样解析的
InputStream is = WebResponse.getResponse(url);
ObjectMapper mapper = new ObjectMapper();
PostedEvnetsList mList = null;
mList = mapper.readValue(is,PostedEvnetsList.class);
eventList = mList.postedevent;
我收到以下解析异常
jackson.map.exc.UnrecognizedPropertyException:无法识别的字段“status”(com.example.jsonproforexam.PostedEvent 类),未标记为可忽略
我已经声明了与 json 响应中相同的字段,那么为什么我会收到此异常 请帮忙
最佳答案
您的 PostedEvent
字段和 PostedEventsList
的 PostedEvent
字段不可访问。
您必须将它们设置为 public
(不推荐)或为它们提供 POJO 风格的公共(public) getter 和 setter。
然后 Jackson 将能够反序列化,错误就会消失。
关于java - 如何使用 Jackson ObjectMapper 解析 java 对象的 json 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25545984/