7

船の防衛ゲームを作っています。
ウェイポイントの配列の取得に問題があります。マップには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();

オブジェクトの配列を foreach するにはどうすればよいですか?

4

2 に答える 2

18

次のコードを使用して、コードを簡素化し、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():
}
于 2013-01-06T13:28:01.363 に答える
2

wayPointsJSON オブジェクトです。という別の JSON オブジェクトが含まれていますship。とship呼ばれる JSON 配列が含まれていますfirst_type。したがってfirst_type、オブジェクトから配列を取得し、shipこの配列を反復処理する必要があります。

于 2013-01-06T13:26:07.560 に答える