2013-01-06 22 views
5

की सरणी को कैसे घुमाएं I जहाज जहाज गेम बना रहा हूं।
मुझे रास्ते बिंदुओं की सरणी प्राप्त करने में समस्या है। नक्शा 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 कर सकते हैं?

उत्तर

15

आप अपने कोड को सरल बना सकते हैं और निम्नलिखित कोड का उपयोग कर 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(): 
} 
2

wayPoints एक JSON ऑब्जेक्ट है। इसमें ship नामक एक और JSON ऑब्जेक्ट शामिल है। और ship में एक JSON सरणी है जिसे first_type कहा जाता है। तो आपको ऑब्जेक्ट से first_type सरणी प्राप्त करनी चाहिए, और इस सरणी पर पुनरावृत्त करना चाहिए।