一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - JAVA使用Gson解析json數(shù)據(jù)實例解析

JAVA使用Gson解析json數(shù)據(jù)實例解析

2020-04-08 14:35jerrylsxu JAVA教程

JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,易于閱讀和編寫,同時也易于機器解析和生成。接下來通過本文給大家介紹JAVA使用Gson解析json數(shù)據(jù)實例解析,需要的朋友參考下吧

JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,易于閱讀和編寫,同時也易于機器解析和生成。同XML一樣是一種“傳輸格式”。JSON采用與編程語言無關的文本格式,便于數(shù)據(jù)傳輸、存儲、交換。

封裝類Attribute:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Attribute {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

另一個封裝類GsonDataAnalysis:

?
1
2
3
4
5
6
7
8
9
public class GsonDataAnalysis {
private List<Attribute> list;
public List<Attribute> getList() {
return list;
}
public void setList(List<Attribute> list) {
this.list = list;
}
}

測試類Main方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
* Gson解析json數(shù)據(jù)
* @author ForeverLover
* @version 2015-04-19
*/
public class GsonTest {
public static void main(String[] args) {
String sTotalString = "{\"list\": [" +
"{\"id\":\"1\",\"name\":\"Tom\",\"age\":\"12\"}," +
"{\"id\":\"2\",\"name\":\"Marry\",\"age\":\"18\"}" +
"]}";
Gson gson = new Gson();
GsonDataAnalysis gda = gson.fromJson(
sTotalString, GsonDataAnalysis.class);
for(int i = 0; i < gda.getList().size(); i ++) {
System.out.print("ID號:" + gda.getList().get(i).getId() + " ");
System.out.print("姓 名:" + gda.getList().get(i).getName() + " ");
System.out.println("年 齡:" + gda.getList().get(i).getAge());
}
}
}

注:在使用Gson類的時候在工程中要添加Gson.jar包。

下面給大家介紹java 解析json格式數(shù)據(jù)

有時候可能會用到json格式進行數(shù)據(jù)的傳輸,那么怎么把接收到的數(shù)據(jù)解析出來呢? 下面介紹兩種解析json數(shù)據(jù)的方法:

1、通過谷歌的Gson來進行解析:

json數(shù)據(jù):sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{surveyid":"2","surveyname":"C"}]};

兩個VO類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public class SurveyVO {
private String surveyId;
private String surveyName;
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getSurveyId() {
return surveyId;
}
public void setSurveyId(String surveyId) {
this.surveyId = surveyId;
}
public String getSurveyName() {
return surveyName;
}
public void setSurveyName(String surveyName) {
this.surveyName = surveyName;
}
}
public class SurveyListVO {
private String message;
private List<SurveyVO> result;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public List<SurveyVO> getResult() {
return result;
}
public void setResult(List<SurveyVO> result) {
this.result = result;
}
}

json格式轉換成object類型:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class fromGson() {
sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{"surveyid":"2","surveyname":"C"}]};
Gson gson = new Gson();
SurveyListVO surveyListVO = gson.fromJson(sTotalString,
SurveyListVO.class);
for (int i = 0; i < surveyListVO.getResult().size(); i++) {
System.out.print(surveyListVO.getResult().get(i)
.getSurveyId());
print: 1////2
System.out.print(surveyListVO.getResult().get(i)
.getSurveyName());
print: B///C
System.out.print(surveyListVO.getMessage());
}
}

2、通過json-org.jar包進行解析:

json數(shù)據(jù):sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{surveyid":"2","surveyname":"C"}]};

一個VO類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class SurveyVO {
private String surveyId;
private String surveyName;
public String getSurveyId() {
return surveyId;
}
public void setSurveyId(String surveyId) {
this.surveyId = surveyId;
}
public String getSurveyName() {
return surveyName;
}
public void setSurveyName(String surveyName) {
this.surveyName = surveyName;
}
}

json格式轉換成object類型:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class fromJson() {
sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{"surveyid":"2","surveyname":"C"}]};
JSONObject json;
try {
json = new JSONObject(sTotalString);
JSONArray results = json.getJSONArray("result");
for (int i = 0; i < results.length(); i++) {
SurveyVO surveyVO = new SurveyVO();
JSONObject result = results.getJSONObject(i);
System.out.println(result.getString("surveyId")+" "+result.getString("surveyName"));
surveyVO.setSurveyId(result.getString("surveyId"));
surveyVO.setSurveyName(result.getString("surveyName"));
surveyVOList.add(surveyVO);
}
} catch (JSONException e) {
e.printStackTrace();
}
}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本免费看 | 日本高清免费看 | 四虎黄色影视 | 2021国产麻豆剧传媒剧情 | 精品视频 久久久 | 娇妻与老头绿文小说系列 | re99热 | 无限在线观看免费入口 | 九九久久国产精品大片 | 天天狠天天透天干天天怕处 | 999任你躁在线精品免费不卡 | 国产欧美日韩一区二区三区在线 | 色老板成人永久免费视频 | 国产欧美国产综合第一区 | 暖暖免费高清完整版观看日本 | 国产日日干 | 高清毛片aaaaaaaaa片 | 毛片www| 国产精品女主播大秀在线 | 精品无人区乱码1区2区3区在线 | 国产精品成人免费观看 | 亚洲人和日本人hd | 国产视频自拍一区 | 亚洲视频在线免费看 | 欧美日韩国产亚洲一区二区 | 亚洲精品黄色 | www.片| 久久香蕉国产免费天天 | 我的妹妹最近有点怪免费播放 | 日韩成人免费 | 天天摸日日舔 | 精品一区二区高清在线观看 | 人人干97| 精品成人网 | 日本邪恶动态 | 国产三及 | 四色6677最新永久网站 | 日韩黄色影视 | 日本国产在线视频 | 国产haodiaose最新 | 欧美 亚洲 一区 |