使用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());
}