在Java中使用Gson反序列化RouteXL响应很困难,因为RouteXL返回多个对象而不是数组
我正在尝试使用Java对RouteXL的响应进行反序列化,但是,路由作为单独的对象返回,而不是一个数组返回,这是一个难题。有人知道一种简单的方法来反序列化来自在Java中使用Gson反序列化RouteXL响应很困难,因为RouteXL返回多个对象而不是数组,java,json,rest,api,gson,Java,Json,Rest,Api,Gson,我正在尝试使用Java对RouteXL的响应进行反序列化,但是,路由作为单独的对象返回,而不是一个数组返回,这是一个难题。有人知道一种简单的方法来反序列化来自RouteXL API1的响应吗?不幸的是,API2也做了同样的事情 Json响应: { "id": "xJFPS2Z3", "count": 4, "feasible": true, "route": { "0": { "name": "11 Main Street", "arrival":
RouteXL API1
的响应吗?不幸的是,API2也做了同样的事情
Json响应:
{
"id": "xJFPS2Z3",
"count": 4,
"feasible": true,
"route": {
"0": {
"name": "11 Main Street",
"arrival": 0,
"distance": 0
},
"1": {
"name": "19 Slate Road",
"arrival": 10,
"distance": 9.3
},
"2": {
"name": "234 Woodland Road",
"arrival": 18,
"distance": 14.5
},
"3": {
"name": "15 Great Eastern Road",
"arrival": 29,
"distance": 26.4
}
}
}
您几乎需要创建一个这样的类来保存所有响应:
公共类路由{
专用航路点1;
专用航路点2;
专用航路点3;
专用航路点4;
专用航路点5;
...
公共航路(航路点1、航路点2、航路点3、航路点4、航路点5){
这是0.1=1;
这是0.1=2;
这个0.3=3;
这个0.4=4;
这个0.5=5;
}
}
这是无效的java,因为变量不能是数字
我尝试过使用诸如和之类的网站,但它们几乎与我所做的一样
我对JSON和Rest API还很陌生,所以如果显而易见的话,我深表歉意。相反,根对象中的
Route
类使用Map
:
private Map<String, Waypoint> route;
私有地图路径;
完美的工作方式和快速的响应。谢谢你,迈克。