1

場所のタイプを解析する必要があるまでは順調でした。ファイルは次のように編成されています。

        "geometry" : {
        "location" : {
           "lat" : 45.7849210,
           "lng" : 11.8724490
        },
        "viewport" : {
           "northeast" : {
              "lat" : 45.81619110,
              "lng" : 11.89575470
           },
           "southwest" : {
              "lat" : 45.75432980,
              "lng" : 11.84532520
           }
        }
     },
     "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png",
     "id" : "a454072e2ba71d4e2331e39099261f086cd11d1e",
     "name" : "Fonte",
     "reference" : "CnRtAAAAUaGSsbXRv05lApqXueEKjOAjtkpEDz07ioe3vPS9HqpOIJSTTQWYObc6o6GfEq-pzVUtKT03oRWNx6ld-rUfdat47e8W3NbSsLY1NldO9iQEUjQOM9kIIOix8xLAvqh5YHUNTAela4Mo8HGSJPPBhhIQ9j4Uy_WrQtFO7qxirA0UHRoUsmY0ngstG5BBiHQNLkLgxTpsDEY",
     "types" : [ "locality", "political" ],
     "vicinity" : "Fonte"
  },

タイプが文字列配列であることに気付くことができるので、私はこのアプローチを試しました:

  JSONArray results = o.getJSONArray("results");
  JSONObject tempObject = results.getJSONObject(0);
  JSONArray typee = tempObject.getJSONArray("types");
  String a = typee.getJSONObject(0).toString();

JSON全体はここで見ることができます: https://maps.googleapis.com/maps/api/place/search/json?location=45.7909,11.8700&radius=500&key= AIzaSyC9Ob9_u-2mxCHeItDHytDLmZP-P1QCejw&sensor=true .

4

1 に答える 1

0
JSONArray typee = tempObject.getJSONArray("types");
String a = typee.getString(0);
String b = typee.getString(1);

上記はlocalityvariableaとvariable に戻りpoliticalますb。可変数の要素を持つ可能性がある場合に、要素の数typee.length()を調べるために使用します。JSONArraytypes

于 2012-05-20T22:59:59.923 に答える