我正在进行船舶防御游戏
我在获取航点数组时遇到问题。
地图包含JSON
格式(使用GSON
)
{
"waypoints" : {
"ship": {
"first_type": [[0,0],[5,7],[2,8],[4,4],[10,10],[12,0],[0,12],[12,8],[8,8]]
},
"boat": {
"first_type": [[0,0],[5,7],[2,8],[4,4],[10,10],[12,0],[0,12],[12,8],[8,8]]
}
}
}
我的代码:
jse = new JsonParser().parse(in);
in.close();
map_json = jse.getAsJsonObject();
JsonObject wayPoints = map_json.getAsJsonObject("waypoints").getAsJsonObject("ship");
我写了这个,但它不起作用。
JsonArray asJsonArray = wayPoints.getAsJsonObject().getAsJsonArray();
如何预测对象数组?
答案 0 :(得分:16)
您可以使用以下代码简化代码并检索first_type
数组。相同的代码也应该适用于second_type
数组:
JsonArray types = map_json
.getAsJsonObject("waypoints")
.getAsJsonObject("ship")
.getAsJsonArray("first_type";
for(final JsonElement type : types) {
final JsonArray coords = type.getAsJsonArray():
}
答案 1 :(得分:2)
wayPoints
是一个JSON对象。它包含另一个名为ship
的JSON对象。 ship
包含一个名为first_type
的JSON数组。所以你应该从first_type
对象中获取ship
数组,然后迭代这个数组。