先上一下需要解析的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(安卓)P系统输出图像镜像翻转实现
  2. android aapt使用小结
  3. Android中使用log4j
  4. Android(安卓)Log 机制
  5. Android中使用log4j输出log内容到sd卡
  6. Android项目中如果json字符串中key-value顺序很重要,不要使用Andr
  7. Android中使用log4j
  8. Android初级-Android(安卓)日志输出和Debug跟踪,常用控件(中),资源
  9. 【Android开发学习02】Android应用程序的调试

随机推荐

  1. 分布式消息队列 RocketMQ源码解析:事务消
  2. 数据库中间件 MyCAT 源码分析 —— 【单
  3. 使用Python开发客户端和服务端程序 理
  4. 分布式事务 TCC-Transaction 源码解析 —
  5. Elasticsearch 索引的映射配置详解
  6. 注册中心 Eureka 源码解析 —— 项目结构
  7. 注册中心 Eureka 源码解析 —— Eureka-C
  8. 分布式事务 TCC-Transaction 源码分析 —
  9. Spring Cloud Feign的两种使用姿势
  10. 分布式事务 TCC-Transaction 源码分析 —