2016-04-14 159 views
-1

我使用JSON從網上完美接收數據,但我想使用我存儲在數據庫中的經度和緯度,然後想要在MapActivty中使用,所以我想將所有值存儲在一個簡單的數組中在MapActivity中玩它如何將JSON值存儲到數組

ServiceHandler serviceClient = new ServiceHandler(); 
       Log.d("url: ", "> " + URL_ITEMS); 
       String json = serviceClient.makeServiceCall(URL_ITEMS,ServiceHandler.GET); 
       // print the json response in the log 
       Log.d("Get match fixture resps","> " + json); 
       if (json != null) { 
        try { 
         Log.d("try", "in the try"); 
         JSONObject jsonObj = new JSONObject(json); 
         Log.d("jsonObject", "new json Object"); 
         // Getting JSON Array node 
         matchFixture = jsonObj.getJSONArray(TAG_FIXTURE); 
         Log.d("json aray", "user point array"); 
         int len = matchFixture.length(); 
         Log.d("len", "get array length"); 
         for (int i = 0; i < matchFixture.length(); i++) { 
          JSONObject c = matchFixture.getJSONObject(i); 
          String matchId = c.getString(TAG_MATCHID); 
          Log.d("matchId", matchId); 
          String teamA = c.getString(TAG_TEAMA); 
          Log.d("teamA", teamA); 
          String teamB = c.getString(TAG_TEAMB); 
          Log.d("teamB", teamB);` 
+0

你能否提供你的JSON結構樣本? –

回答

0

我建議使用GSON或傑克遜轉換回來和從Java/JSON。

GSON - 基於現有的答案

Gson - convert from Json to a typed ArrayList<T>

arrayFromJson = gson.fromJson(json, new TypeToken<List<Pair<Float,Float>>(){}.getType()); 

谷歌地圖API具有經緯度對象是一對,所以你可能想嘗試。

for (LatLng latlng: arrayFromJSON) { 

    Marker marker = mMap.addMarker(new MarkerOptions() 
         .position(latlng) 
         .draggable(true)); 
} 

你可能想看看:

arrayFromJson = gson.fromJson(json, new TypeToken<List<LatLng>(){}.getType()); 

然後你可以用添加標記Google Maps Example看到這一切是如何一起工作。

+0

我得到了數組中的數據先生我怎麼能發送這個數據到MapActivity –

+0

我添加了一些更多的信息給答案 –