使用Gson解析JSON数据,Gson下载,json数据解析,java解析json

使用Gson解析JSON数据,Gson下载,json数据解析,java解析json

1:Gson下载

1.1:maven仓库


<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.5</version>
</dependency>

1.2:Gradle下载


compile group: 'com.google.code.gson', name: 'gson', version: '2.8.5'

1.3:直接下载jar包

Gson jar下载:点这里下载jar包

2:解析json

不长篇大作了,除了耽搁时间没啥意思,人生苦短,直接上代码。
想详细了解的,请自行百度。

2.1待解析的json文件

在这里插入图片描述

{
    "status": 0,
    "message": "query ok",
    "request_id": "16d6a60c-3ba2",
    "result": {
        "location": {
            "lat": 36,
            "lng": 117
        },
        "address": "中国山东"
		}
	"content":[
        {"id":"25871","name":"济南"},
        {"id":"4646","name":"济宁"},
    ]
}

2.2:创建Json.java类

在这里插入图片描述


public class Json {
	
	private String message;
	
	private Result result;
	
	public String getMessage(){
		return message;
	}
	
	public Result getResult(){
		return result;
	}
	
	public static class Result{
		
		private String address;
		
		private List<Content> content;
		
		public String getAddress(){
			return address;
		}
		
		public List<Content> getContent(){
			return content;
		}
		
		public static class Content{
			
		}
		
	}
}

2.3:解析json字符串

这里的 result 是你的json字符串
在这里插入图片描述


	result = stringBuffer.toString();
	Gson gson = new Gson();
	Json json = (Json) gson.fromJson(result, Json.class);
	System.out.println(json.getMessage());
	System.out.println(json.getResult().getAddress());
				

3:解析json数组

3.1:json数组

在这里插入图片描述


 [
  {
    "id": 3406,
    "pid": 3400,
    "city_code": "101220103",
    "city_name": "肥东县",
    "post_code": null,
    "area_code": null,
    "ctime": "2019-07-11 16:39:11"
  },
  {
    "id": 3407,
    "pid": 3400,
    "city_code": "101220104",
    "city_name": "肥西县",
    "post_code": null,
    "area_code": null,
    "ctime": "2019-07-11 17:19:23"
  }
]

3.2:CIty.java类

在这里插入图片描述

public class City {
	
		private int id;
		
		private int pid;
		
		private String city_code;
		
		private String city_name;

		public int getId() {
			return id;
		}

		public int getPid() {
			return pid;
		}

		public String getCity_code() {
			return city_code;
		}

		public String getCity_name() {
			return city_name;
		}
		
}

3.3:解析获取

这里的 themsg 指的是你要处理的json数据

			//Json的解析类对象
		    JsonParser parser = new JsonParser();
		    //将JSON的String 转成一个JsonArray对象
		    JsonArray jsonArray = parser.parse(themsg).getAsJsonArray();
		    
		    ArrayList<City> userBeanList = new ArrayList<>();
		    
		  //加强for循环遍历JsonArray
		    for (JsonElement user : jsonArray) {
		        //使用GSON,直接转成Bean对象
		        City userBean = gson2.fromJson(user, City.class);
		        userBeanList.add(userBean);
		    }
			
		    System.out.println(userBeanList);
		    for(int i = 0;i<userBeanList.size();i++){	    					
		    		System.out.println(userBeanList.get(i).getCity_name());
		    }
发布了43 篇原创文章 · 获赞 19 · 访问量 3068

猜你喜欢

转载自blog.csdn.net/qq_41974199/article/details/104057634