反序列化对象数组时遇到错误。
ans int以下表达式是List<Restaurant>
类型
String json = obj.writeValueAsString(ans);
我在下面的行中出现错误
List<Restaurant> all= Arrays.asList(obj.readValue(reslistjson,Restaurant[].class));
错误-
无法从START_OBJECT令牌中反序列化com.crio.qeats.dto.Restaurant[]
的实例
在[来源:(String)“ {” restaurantId“:” 12“,” name“:” A2B“,” city“:”电子城市“,” imageUrl“:” www.google.com“,” latitude“: 20.015,“经度”:30.015,“ opensAt”:“ 18:00”,“ closesAt”:“ 23:00”,“ attributes”:[“ Tamil”,“ South Indian”]}“ ;;行:1,列:1]
答案 0 :(得分:1)
JSON输入是对象而不是数组。 对于您的JSON数据,这将起作用:
List<Restaurant> all= Arrays.asList(objectMapper.readValue(json,Restaurant.class));
像这样的JSON是一个对象数组,您的原始代码可以使用:
String json = "[{..data1 goes here....}, {..data2 goes here....}]";
List<Restaurant> all= Arrays.asList(objectMapper.readValue(json,Restaurant[].class));