如何将json值存储到数组中

时间:2016-04-14 17:16:21

标签: android google-maps

我使用JSON来完美地从网上接收数据,但是我想使用我存储在数据库中然后想要在MapActivty中使用的经度和纬度,所以我想将所有值存储在一个简单的数组中来玩它在MapActivity中

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);`

1 个答案:

答案 0 :(得分:0)

我建议使用GSON或Jackson转换回来和来自Java / JSON。

  

GSON - 基于现有答案

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

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

Google Maps API的LatLng对象是一对,因此您可能需要尝试。

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

然后您可以添加标记:

for (LatLng latlng: arrayFromJSON) {

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

您可能需要查看:Google Maps Example,了解它们如何协同工作。