gpt4 book ai didi

android - 包含 ArrayList 语法异常的 Gson 对象

转载 作者:行者123 更新时间:2023-11-29 18:03:48 24 4
gpt4 key购买 nike

我有一个名为 Route 的对象,它存储 RouteStep 对象的 ArrayList。

一个 RouteStep 对象存储了 int[] 的 ArrayList。

这里是类的示例。它们包含其他字段,但我在这里省略了它们:

public class Route {

@Expose private long routeId;
@Expose private List<RouteStep> routeSteps;

public Route() {}

public long getRouteId() {
return routeId;
}

public void setRouteId(long routeId) {
this.routeId = routeId;
}


public List<RouteStep> getRouteSteps() {
return routeSteps;
}

public void setRouteSteps(List<RouteStep> routeSteps) {
this.routeSteps = routeSteps;
}
}

public class RouteStep {

@Expose private ArrayList<int[]> coordinates = new ArrayList<int[]>();

public RouteStep() {}

public ArrayList<int[]> getCoordinates() {
return coordinates;
}

public void setCoordinates(ArrayList<int[]> coordinates) {
this.coordinates = coordinates;
}
}

下面是需要解析的Json示例:

[
{
"routeId": -1,
"user": "aa",
"date": "08/01/2013 18:20:49",
"routeName": "route 1",
"distance": 536.4938,
"routeSteps": [
{
"type": "LineString",
"coordinates": [
[
55.940847,
-3.182992000000008
],
[
55.941983999999984,
-3.186577000000001
],
[
55.94265899999998,
-3.19088
]
]
}
]
},
{
"routeId": -2,
"user": "aa",
"date": "08/01/2013 18:21:39",
"routeName": "route 2",
"distance": 455.127,
"routeSteps": [
{
"type": "LineString",
"coordinates": [
[
55.94265899999998,
-3.19088
],
[
55.942732999999976,
-3.191536000000003
],
[
55.94519300000003,
-3.19124800000001
],
[
55.946433,
-3.191014999999997
]
]
}
]
}
]

我的课上有这个用来解析 Json:

Gson gson = new Gson();

try {
routes = gson.fromJson(json, Route[].class);
} catch(JsonSyntaxException e1) {
Log.e(TAG, "Syntax exception in retrieved JSON");
} catch(JsonParseException e2) {
Log.e(TAG, "Exception occured parsing retrieved JSON");
}

运行时,我一直收到 JsonSyntaxExceptions。我使用了相同的代码来解析包含原始类型的 ArrayLists 的对象数组,例如 int[] 但我不确定当 ArrayList 包含我自己类型的对象时该怎么做。

最佳答案

发布您的实际堆栈跟踪会有所帮助,但是......您有:

private ArrayList<int[]> coordinates = new ArrayList<int[]>();

并试图解析:

[
55.940847,
-3.182992000000008
],

那些不是 int。解决这个问题,它应该可以正常工作。

关于android - 包含 ArrayList 语法异常的 Gson 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14415755/

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