我正在尝试读取 JSON 数组,其格式如下:[{"vehicle_id":"76","color":"red"},{"vehicle_id":"7","color":"blue"}]
,遵循 Robospice 的入门指南 https://github.com/octo-online/robospice/wiki/Starter-Guide.
车辆.java
public class Vehicle {
@JsonProperty("vehicle_id")
private int vehicleID;
@JsonProperty("color")
private String color;
}
(后面是 setter 和 getter)
给出错误的类:
VehiclesRequest.class
public class VehiclesRequest extends SpringAndroidSpiceRequest<Vehicle> {
private static final String METHOD = "systemVehicles";
public SystemVehiclesRequest() {
super(Vehicle.class);
}
@Override
public Vehicle[] loadDataFromNetwork() throws Exception {
return getRestTemplate().getForObject(
FULL_URL,
Vehicle[].class);
}
}
正如你所看到的,我压倒一切loadDataFromNetwork()
方法,然后将其传递给spiceManager.execute()
我的活动中的方法并使用自定义侦听器从请求中读取数据。但是我无法返回和数组(我已经尝试过List<>
也)从loadDataFromNetwork()
,这里最好的解决方法是什么?我知道我可以以不同的方式获取数据,但我仍然想使用我的监听器并能够try
挡住那条路。
我通过添加解决了这个问题Vehicles
class:
@JsonIgnoreProperties(ignoreUnknown = true)
public class Vehicles extends ArrayList<Vehicle> {
public Vehicles() {
}
}
和改变loadDataFromNetwork()
像这样的方法:
public Vehicles loadDataFromNetwork() throws Exception {
return getRestTemplate().getForObject(
FULL_URL,
Vehicles.class);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)