JAVA使用Gson解析json数据实例解析
作者:jerrylsxu 时间:2021-08-23 14:50:56
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。同XML一样是一种“传输格式”。JSON采用与编程语言无关的文本格式,便于数据传输、存储、交换。
封装类Attribute:
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:
public class GsonDataAnalysis {
private List<Attribute> list;
public List<Attribute> getList() {
return list;
}
public void setList(List<Attribute> list) {
this.list = list;
}
}
测试类Main方法:
/**
* Gson解析json数据
* @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格式数据
有时候可能会用到json格式进行数据的传输,那么怎么把接收到的数据解析出来呢? 下面介绍两种解析json数据的方法:
1、通过谷歌的Gson来进行解析:
json数据:sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{surveyid":"2","surveyname":"C"}]};
两个VO类:
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类型:
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数据:sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{surveyid":"2","surveyname":"C"}]};
一个VO类:
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类型:
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();
}
}
标签:java,gson,解析,json
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
深入浅析Android消息机制
2023-07-26 03:20:02
![](https://img.aspxhome.com/file/2023/9/85969_0s.png)
java ssm框架实现分页功能的示例代码(oracle)
2021-10-31 01:14:40
![](https://img.aspxhome.com/file/2023/0/63030_0s.jpg)
Android使用URL读取网络资源的方法
2023-07-27 10:56:39
![](https://img.aspxhome.com/file/2023/6/63836_0s.png)
java学生管理系统界面简单实现(全)
2023-11-28 21:35:25
IntelliJ IDEA 下载安装超详细教程(推荐)
2023-11-19 23:50:16
![](https://img.aspxhome.com/file/2023/6/59086_0s.png)
Java 线程池ThreadPoolExecutor源码解析
2022-06-28 09:13:59
![](https://img.aspxhome.com/file/2023/7/64767_0s.png)
SpringBoot 上传文件判空以及格式检验流程
2023-01-19 05:07:36
![](https://img.aspxhome.com/file/2023/5/61405_0s.png)
详解Java实现单例的五种方式
2021-06-11 03:54:03
Java注解(annotation)简述
2022-03-07 08:10:12
![](https://img.aspxhome.com/file/2023/4/62824_0s.png)
java实现单词小游戏
2023-11-25 05:03:33
![](https://img.aspxhome.com/file/2023/2/59522_0s.png)
c# Selenium爬取数据时防止webdriver封爬虫的方法
2023-06-24 07:50:51
![](https://img.aspxhome.com/file/2023/7/59117_0s.png)
利用maven引入第三方jar包以及打包
2023-11-15 04:23:17
![](https://img.aspxhome.com/file/2023/0/59010_0s.jpg)
MybatisPlus #{param}和${param}的用法详解
2023-02-02 13:08:10
分布式调度XXL-Job整合Springboot2.X实战操作过程(推荐)
2023-11-23 09:43:38
![](https://img.aspxhome.com/file/2023/9/59869_0s.jpg)
java mybatis如何操作postgresql array数组类型
2023-04-25 22:59:37
Java基础教程之static五大应用场景
2023-11-11 05:10:43
RocketMQ存储文件的实现
2023-03-16 15:11:27
![](https://img.aspxhome.com/file/2023/9/63339_0s.png)
IntelliJ IDEA(2020.2)的下载、安装步骤详细教程
2023-11-25 07:10:16
![](https://img.aspxhome.com/file/2023/0/59900_0s.png)
Java IO流—异常及捕获异常处理 try…catch…finally
2023-03-14 07:35:52
![](https://img.aspxhome.com/file/2023/1/62401_0s.png)
使用java技术抓取网站上彩票双色球信息详解
2022-01-04 14:47:51
![](https://img.aspxhome.com/file/2023/1/60111_0s.jpg)