JSON反序列化引发异常 - 无法将java.util.ArrayList的实例反序列化为START_OBJECT令牌。

3
以下是我的JSON响应:
由于:com.fasterxml.jackson.databind.JsonMappingException:无法从START_OBJECT令牌反序列化java.util.ArrayList的实例,原因是[源:java.io.PushbackInputStream@bce1d9; line:1, column:556](通过引用链:com.totalHours["data"] - > com.totalHours["hourly_totals"])。
 "totalHours": 
  {
     "hourly_totals": 
     {
        "2013112101":
        {
           "distance": 1324,
           "calories": 90.0120018125,
           "steps": 1603,
           "active_time": 793,
           "inactive_time": 220,
           "longest_active_time": 302,
           "longest_idle_time": 780
        },
        "2013112101":
        {
           "distance": 626,
           "calories": 47.0120018125,
           "steps": 455,
           "active_time": 246,
           "inactive_time": 260,
           "longest_active_time": 203,
           "longest_idle_time": 650
        },
        ... more hours ...
     }  

我有一个像下面这样的pojo类,当我尝试反序列化我的json数据时,我会收到一个异常。

public class totalHours{
private List<String> hourly_totals;
}

但是,由于响应中没有数组,我不知道是否要采用List。还有其他可尝试的选项吗?


你的 JSON 中没有数组。你能改一下吗? - Carlo Moretti
@Onheiron 那么如何进行响应的反序列化呢?有什么想法吗? - Karthik
你确信这就是你所获得的完整响应吗? - Arthur Eirich
你的 JSON 中是否有重复的键“2013112101”? - Codebender
1个回答

2

hourly_totals 是一个从字符串表示的小时到另一个对象的对象,将其转换为 Map<String,T>,其中 T 是表示一个小时数据的 POJO 类,看起来是一个自然的选择。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接