java - 如何使用 Jackson ObjectMapper 解析 java 对象的 json 响应

标签 java android json jackson mongo-jackson-mapper

这是我的 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 字段和 PostedEventsListPostedEvent 字段不可访问。

您必须将它们设置为 public (不推荐)或为它们提供 POJO 风格的公共(public) getter 和 setter。

然后 Jackson 将能够反序列化,错误就会消失。

关于java - 如何使用 Jackson ObjectMapper 解析 java 对象的 json 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25545984/

相关文章:

android - 在 Android 中获取 OpenGL 窗口的大小

c# - Newtonsoft.Json DeserializeXmlNode 将标签名称从数字更改为 "something"

java - 如果我在解析之前不知道所有 json 字段,如何将 JSON 转换为 Java 对象?

java - Android Java atan2() 结果在 -Pi, Pi 或 0, 360 之间(与两个手指旋转相关)?

java - 将字符串转换为 JSON 时出现未终止的对象

java - jasper 不格式化 excel 数据类型

android - 为什么现在我不能做 android :id ="@+idLayouName/text"?

json - 使用 Azure Devops 部署 Azure 策略 ARM 模板失败

java - 如何获取setupBuilder gradle插件以在Windows开始菜单中创建jar启动器

java - 访问一个类中填充的ArrayList,另一个类中的填充