gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 16:37:13 25 4
gpt4 key购买 nike

这是我的 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:无法识别的字段“status”(类 com.example.jsonproforexam.PostedEvent),未标记为可忽略

我已经声明了与 json 响应中相同的字段,那么为什么我会收到此异常请帮忙

最佳答案

您的 PostedEvent 字段和 PostedEventsListPostedEvent 字段不可访问。

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

然后 Jackson 将能够反序列化并且错误将消失。

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com