先上一下需要解析的Json数据:

{ "results" : [ { "address_components" : [ { "long_name" : "荔湾区", "short_name" : "荔湾区", "types" : [ "sublocality", "political" ] }, { "long_name" : "广州", "short_name" : "广州", "types" : [ "locality", "political" ] }, { "long_name" : "广东省", "short_name" : "广东省", "types" : [ "administrative_area_level_1", "political" ] }, { "long_name" : "中国", "short_name" : "CN", "types" : [ "country", "political" ] } ], "formatted_address" : "中国广东省广州荔湾区", "geometry" : { "bounds" : { "northeast" : { "lat" : 23.15961330, "lng" : 113.2768870 }, "southwest" : { "lat" : 23.04186250, "lng" : 113.17712080 } }, "location" : { "lat" : 23.1259510, "lng" : 113.2442380 }, "location_type" : "APPROXIMATE", "viewport" : { "northeast" : { "lat" : 23.16699020, "lng" : 113.30826770 }, "southwest" : { "lat" : 23.08489920, "lng" : 113.18020830 } } }, "types" : [ "sublocality", "political" ] } ], "status" : "OK"

}

上关键代码: 这只是解析了部分,但是其他部分都一样,不要忘记导入gson-2.1.jar包到程序中

public voidparserJson(Stringstr){
try{
JSONObjectjsonObject= newJSONObject(str);
// 解析了最简单的status
// Strings=jsonObject.getString("status");
JSONArrayjsonArray=jsonObject.getJSONArray("results");
for( inti=0;i<jsonArray.length();i++){
// 输入了formatted_address
s=jsonArray.getJSONObject(i).getString("formatted_address");
System.out.println("formatted_address=======>"+s);
// 输出了location里面的lat和lng两个值
doubles1=jsonArray.getJSONObject(i).getJSONObject("geometry").getJSONObject("location").getDouble("lat");
doubles2=jsonArray.getJSONObject(i).getJSONObject("geometry").getJSONObject("location").getDouble("lng");
System.out.println("lat:"+s1+"-----"+"lng:"+s2);

JSONArrayjsonArray2=jsonArray.getJSONObject(i).getJSONArray("address_components");
for( intj=0;j<jsonArray2.length();j++){
// 输出每一个long_name
s=jsonArray2.getJSONObject(j).getString("long_name");
System.out.println(s);
// 输出address_components里面的types
JSONArrayjsonArray3=jsonArray2.getJSONObject(j).getJSONArray("types");
for( intk=0;k<jsonArray3.length();k++){
System.out.println(jsonArray3.get(k));
}
}
}

} catch(JSONExceptione){
// TODOAuto-generatedcatchblock
e.printStackTrace();
}

}

更多相关文章

  1. 重定向android log
  2. Android(安卓)编程下通过 zipalign 对 APK 文件进行优化
  3. android读取工程里文件并显示在界面
  4. android电话录音
  5. Android(安卓)Io 整理
  6. android中IO操作数据总结
  7. %1$s %1$d Android(安卓)string (java & Android(安卓)格式化字符
  8. android单元测试用例和日志输出
  9. Android(安卓)Studio中使用NDK

随机推荐

  1. Eclipse中导入Android工程
  2. [android]控件EditText常用属性
  3. Android(安卓)菜单(OptionMenu)大全 建立
  4. 怎么在android的XML文件里加入凝视
  5. Xamarin为Mono for Android提供了一个可
  6. Android获取网速和下载速度
  7. android 开发-文件存储之读写sdcard
  8. dex.force.jumbo和Java heap space的问题
  9. android图片浏览器 PhotoStore
  10. Android(安卓)APK反编译详解(附图)