如何使用Jackson ObjectMapper来解析对java对象的json响应 [英] How to use Jackson ObjectMapper to parse json response to java objects

查看:347
本文介绍了如何使用Jackson ObjectMapper来解析对java对象的json响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的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"
    }
 ]



<这是java类从json响应中获取java objs

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;
}

我正在以这种方式解析

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),未标记为可忽略

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

我已声明相同的字段json回应然后为什么我要解决这个异常
请帮助

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

推荐答案

你可以使用 JsonProperty 注释以指定json密钥

You can use the JsonProperty annotation to specify the json key

Ex:

public class PostedEvent {

    @JsonProperty("status")
    String status;

    @JsonProperty("event_id")
    String eventId;

....
....

如果你错过了实体类中json的一些字段,你可以使用 @JsonIgnoreProperties 注释忽略未知字段。

If you have missed some fields from json in your entity class, you can use @JsonIgnoreProperties annotation to ignore the unknown fields.

@JsonIgnoreProperties(ignoreUnknown = true)
public class PostedEvent {

...

这篇关于如何使用Jackson ObjectMapper来解析对java对象的json响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆