2016-12-14 9 views
0

私は現在ゲームを構築しており、ゲームでこれを解析しようとしています。これで、その一部は次のようになります。データベースJSON配列

{ 
    "CircuitList": [  
     {  
      "name": "GP SILVERSTONE", 
      "location": "ENGLAND", 
      "laps": 57, 
      "Parts": 
       [ 
        { 
         "1":{ 
         "type": "straight", 
         "length": 800 
        }, 
         "2": { 
         "type": "sharpturn", 
         "length": 200 
        }, 

次に、これ以降の部分が続きます。今、私は、JSONファイルを解析され、そしてすべての部品を持つ配列を作成するために、

JSONArray Silverstoneparts = (JSONArray) jsonObject.get("Parts"); 

を使用しました。しかし、あなたはJSONを解析しようとすることができ、私はタイプと長さを読み出す方法がわからないので、助けて喜んで誰もが正しい方向に優しく私をプッシュするように、存在する場合、それは非常に高く評価されるだろう:)

+1

は、Javaオブジェクト構造にJSONを非整列化するためにジャクソンのようなものを使用することを検討してください。 – lexicore

+0

必要な構造体に対してオブジェクト 'obj'を作成します。この場合、オブジェクトは型と長さを持ちます。さて、partsはオブジェクトの配列です。各オブジェクトには、 "id"から "obj"までのマップが含まれています。次に、([アンドロイドにJSON配列を読む]の – gaganbm

+0

可能な複製をシリアライズとデシリアライズするためにジャクソンやgsonまたはいくつかのライブラリを使用することができますhttp://stackoverflow.com/questions/4244879/reading-a-json-array-in-android ) – Bryan

答えて

0
JSONArray circuitList = (JSONArray) jsonObject.get("CircuitList"); 
JsonArray parts = circuitList.getJsonObject(0).getJsonArray("parts"); 

JsonObjectを使用してjson文字列を作成することをおすすめします。

0

をライブラリgsonを使用してください。 JSONデータごとにネストされた配列/プロパティを持つデータ構造体を定義し、JSONデータをネイティブオブジェクトにシリアライズする必要があります。

ネイティブJavaオブジェクトは、あなたのコードではなく、キーに依存すると値を抽出するために、ループ内のループを実行することで解析され、アレイおよびその他のプロパティを読み取るのに役立ちます。