2012-03-10 101 views
1

我试图解析谷歌地方api的json结果。我使用http方法调用它,我得到了字符串中的json结果 我该如何解析它?我收到文档并在互联网上观看了两个博客(一个使用谷歌api库和一个似乎已经过时),并没有帮助我如何解析谷歌的地方json

我使用的是标准的java JSONobject和Gson谷歌,但我无法找出解析它的好方法(我打电话给搜索地方法) 你有什么建议? 感谢ü

你好,对不起,忘了展现JSON响应:

{ 
    "html_attributions" : [ 
     "Listings by \u003ca href=\"http://www.yellowpages.ca/\"\u003eYellowPages.ca\u003c/a\u003e" 
    ], 
    "results" : [ 
     { 
     "geometry" : { 
      "location" : { 
       "lat" : 45.39318670, 
       "lng" : -75.68352930 
      }, 
      "viewport" : { 
       "northeast" : { 
        "lat" : 45.40102170, 
        "lng" : -75.66752190 
       }, 
       "southwest" : { 
        "lat" : 45.38535060, 
        "lng" : -75.69953670 
       } 
      } 
     }, 
     "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png", 
     "id" : "6a3f8ef9aae04c8a23c80ab814e8c75a8b685292", 
     "name" : "Old Ottawa South", 
     "reference" : "adsadada", 
     "types" : [ "neighborhood", "political" ], 
     "vicinity" : "Ottawa" 
     }, 
    { 
     "geometry" : { 
      "location" : { 
       "lat" : 45.394630, 
       "lng" : -75.6837250 
      } 
     }, 
     "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/movies-71.png", 
     "id" : "59519a28667351790456ab80aba982347546b2f6", 
     "name" : "Mayfair Theatre", 
     "rating" : 4.10, 
     "reference" : "dfdsf", 
     "types" : [ "movie_theater", "establishment" ], 
     "vicinity" : "1074 Bank Street, Ottawa" 
     } 
    ] 
} 

我要抢的结果部分(并让说,结果只为简单的第一项)和我做了什么是以下内容:

JSONObject jso = new JSONObject(response); 
String result = jso.getJSONArray("results").getJSONObject(0).toString(); 
JsonPlacesResult d = new Gson().fromJson(result, JsonPlacesResult.class); 


where JsonPlacesResult is 

class JsonPlacesResult{ 

    private JsonPlaces jsonPlaces; 


    public JsonPlaces getJsonPlaces(){return jsonPlaces;} 



} 
class JsonHtml{ 
    private String html_attribution; 

} 
class JsonPlaces{ 
    private Geometry geo; 
    private String icon; 
    private String id; 
    private String name; 
    private String rating; 
    private String reference; 
    private String types; 
    private String vicinity; 
} 
class Geometry{ 
    private JsonLocation loc; 
} 
class JsonLocation{ 
    private String lat; 
    private String lng; 
} 

我结束了d中的空对象吗???为什么是这样!我做错了什么 谢谢

+0

您可以添加收到JSON所以,我们并不需要寻找它自己呢? – 2012-03-10 09:18:02

回答

0

3个错误: 1. “LAT” 和 “经度” 的类型应该是浮动的代替字符串; 2.“html_attributions”的类型应该是列表(字符串)而不是字符串; 3.“类型”的类型应为列表(字符串)而不是字符串; 对不起,我英文很差。