[英]How to parse properly Date string to java.util.Date when deserializing JSON to Java POJO with Jackson ObjectMapper
[英]How to use Jackson ObjectMapper to parse json response to java objects
這是我的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 objs的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:無法識別的字段“狀態”(類com.example.jsonproforexam.PostedEvent),未標記為可忽略
我聲明了與json響應中相同的字段,那么為什么我會收到此異常,請幫助
你的領域PostedEvent
和PostedEvent
領域PostedEventsList
無法訪問。
您必須將它們設置為public
(不推薦),或者為它們提供POJO風格的公共getter和setter。
然后,Jackson將能夠反序列化並且錯誤將消失。
您可以使用JsonProperty
批注指定json鍵
例如:
public class PostedEvent {
@JsonProperty("status")
String status;
@JsonProperty("event_id")
String eventId;
....
....
如果您在實體類中錯過了json中的某些字段,則可以使用@JsonIgnoreProperties
批注來忽略未知字段。
@JsonIgnoreProperties(ignoreUnknown = true)
public class PostedEvent {
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.