gpt4 book ai didi

java - 无法从 START_OBJECT token 中反序列化 my.package.name.PlaceData[] 的实例

转载 作者:行者123 更新时间:2023-11-30 10:47:37 24 4
gpt4 key购买 nike

我一直在尝试反序列化一个 json stirng。不明白哪里出了问题。它正在 throw -

org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of my.package.name.PlaceData[] out of START_OBJECT token
at [Source: java.io.StringReader@1fea1293; line: 1, column: 1]

我的 JSON 字符串 (placesData) 是

    {
"d":[
{
"__type":"my.package.name.PlaceData",
"Id":1212,
"Name":"Delhi",
"MeetingId":1211,
"Sessions":[]
},
{
"__type":"my.package.name.PlaceData",
"Id":8787,
"Name":"Bangalore",
"MeetingId":1211,
"SessionNames":[]
}
]
}

Java 对象是-

public class PlaceData  {
public String __type;
public Integer Id;
public String Name;
public Integer MeetingId;
public SessionData[] sessionData=new SessionData[0];

public PlaceData() {
}

@Override
public String toString() {
return "PlaceData{" +
"__type='" + __type + '\'' +
", Id=" + Id +
", Name='" + Name + '\'' +
", MeetingId=" + MeetingId +
", SessionData=" + Arrays.toString(SessionData) +
'}';
} }

反序列化代码-

ObjectMapper mapper = new ObjectMapper();
List<PlaceData> placesList = Arrays.asList(mapper.readValue(placesData, PlaceData[].class));

有什么线索吗??

最佳答案

看起来您正在反序列化对象而不是数组。 START_OBJECT 标记指的是开始 { 括号。您可以从该对象的属性“d”访问您的实际数据。

关于java - 无法从 START_OBJECT token 中反序列化 my.package.name.PlaceData[] 的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36129763/

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