我试图解析google places api的json结果。我用http方法调用它,然后用字符串返回json结果 我该如何解析它?我得到了doc和互联网上的两个博客(一个使用谷歌api库,一个似乎已经过时),并没有帮助我
我正在使用google的标准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 ???中以null对象结束为什么是这样!我做错了什么 感谢
答案 0 :(得分:2)
您可以从这些链接中学习。这些链接中显示的非常简单的示例。并发布您收到的JSON样本,以便人们获得更清晰的答案。感谢。
的http:// www.technotalkative.com/android-json-parsing/
的http:// www.androidcompetencycenter.com/2009/10/json-parsing-in-android/
答案 1 :(得分:0)
这是一个教程,向您展示如何使用GSON将JSON字符串解析为Java对象。
http://java.sg/parsing-a-json-string-into-an-object-with-gson-easily/
答案 2 :(得分:0)
3个错误: 1.“lat”和“lng”的类型应该是 float 而不是 String ; 2.“html_attributions”的类型应为 List(String),而不是 String ; 3.“类型”的类型应为列表(字符串),而不是字符串; 抱歉我的英语不好。
答案 3 :(得分:0)
现在有一个现成的python转换器,用于KML和其他格式: https://github.com/Scarygami/location-history-json-converter/blob/master/location_history_json_converter.py