Gson---简单入门
1-1.Diaosi.java(bean)
package Bean; import com.google.gson.annotations.SerializedName; public class Diaosi {
@SerializedName("NAME")
private String name;
private String school;
private boolean has_girlfriend;
private double age;
private Object car;
private String[] major;
private transient String ignore; public String getIgnore() {
return ignore;
} public void setIgnore(String ignore) {
this.ignore = ignore;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getSchool() {
return school;
} public void setSchool(String school) {
this.school = school;
} public boolean isHas_girlfriend() {
return has_girlfriend;
} public void setHas_girlfriend(boolean has_girlfriend) {
this.has_girlfriend = has_girlfriend;
} public double getAge() {
return age;
} public void setAge(double age) {
this.age = age;
} public Object getCar() {
return car;
} public void setCar(Object car) {
this.car = car;
} public String[] getMajor() {
return major;
} public void setMajor(String[] major) {
this.major = major;
} public String getComment() {
return comment;
} public void setComment(String comment) {
this.comment = comment;
} public String getBirthday() {
return birthday;
} public void setBirthday(String birthday) {
this.birthday = birthday;
} private String comment;
private String birthday; // public String toString(){
//
// return "[name:'"+name+"',school:'"+school+"',has_girlfriend:'"+has_girlfriend+"',age:'"+age+"',major:'"+major+"']";
// } }
1-2.
GsonGreateSample.java
package day05.gson; import java.lang.reflect.Field; import com.google.gson.FieldNamingStrategy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import Bean.Diaosi; public class GsonGreateSample {
public static void main(String[] args) {
Diaosi wangxiaoer = new Diaosi();
Object nullObject = null;
wangxiaoer.setName("wangxiaoer");
wangxiaoer.setAge(25.2);
wangxiaoer.setBirthday("1990-01-01");
wangxiaoer.setSchool("蓝翔");
wangxiaoer.setMajor(new String[] { "理发", "挖掘机" });
wangxiaoer.setHas_girlfriend(false);
wangxiaoer.setCar(nullObject);
wangxiaoer.setComment("这是一个注释");
// gson
GsonBuilder gsonbuilder = new GsonBuilder();
gsonbuilder.setPrettyPrinting();
gsonbuilder.setFieldNamingStrategy(new FieldNamingStrategy() { @Override
public String translateName(Field f) {
if (f.getName().equals("school")) {
return "SCHOOL";
}
return f.getName();
}
});
Gson gson = gsonbuilder.create();
System.out.println(gson.toJson(wangxiaoer));
} }
结果:
-------------------------------------------------------
{
"NAME": "wangxiaoer",
"SCHOOL": "蓝翔",
"has_girlfriend": false,
"age": 25.2,
"major": [
"理发",
"挖掘机"
],
"comment": "这是一个注释",
"birthday": "1990-01-01"
}
-------------------------------------------------------
2-1.
Diaosinew.java(bean)
package Bean; import java.util.List; import com.google.gson.annotations.SerializedName; public class Diaosinew {
@SerializedName("NAME")
private String name;
private String school;
private boolean has_girlfriend;
private double age;
private Object car;
private List<String> major;
public List<String> getMajor() {
return major;
} public void setMajor(List<String> major) {
this.major = major;
} private transient String ignore; public String getIgnore() {
return ignore;
} public void setIgnore(String ignore) {
this.ignore = ignore;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getSchool() {
return school;
} public void setSchool(String school) {
this.school = school;
} public boolean isHas_girlfriend() {
return has_girlfriend;
} public void setHas_girlfriend(boolean has_girlfriend) {
this.has_girlfriend = has_girlfriend;
} public double getAge() {
return age;
} public void setAge(double age) {
this.age = age;
} public Object getCar() {
return car;
} public void setCar(Object car) {
this.car = car;
} public String getComment() {
return comment;
} public void setComment(String comment) {
this.comment = comment;
} public String getBirthday() {
return birthday;
} public void setBirthday(String birthday) {
this.birthday = birthday;
} private String comment;
private String birthday; // public String toString(){
//
// return "[name:'"+name+"',school:'"+school+"',has_girlfriend:'"+has_girlfriend+"',age:'"+age+"',major:'"+major+"']";
// } }
2-2.
ReadGSONSample.java
package day05; import java.io.File;
import java.io.IOException; import org.apache.commons.io.FileUtils; import com.google.gson.Gson; import Bean.Diaosinew; public class ReadGSONSample {
public static void main(String[] args) throws IOException {
File file = new File(ReadJSONSample.class.getResource("/wangxiaoer.json").getFile());
String content = FileUtils.readFileToString(file);
Gson gson=new Gson();
Diaosinew wangxiaoer =(Diaosinew) gson.fromJson(content, Diaosinew.class);
System.out.println(wangxiaoer.getMajor());
System.out.println(wangxiaoer.getMajor().getClass());
} }
结果:
[理发, 挖掘机]
class java.util.ArrayList
Gson---简单入门的更多相关文章
- 用IntelliJ IDEA创建Gradle项目简单入门
Gradle和Maven一样,是Java用得最多的构建工具之一,在Maven之前,解决jar包引用的问题真是令人抓狂,有了Maven后日子就好过起来了,而现在又有了Gradle,Maven有的功能它都 ...
- [原创]MYSQL的简单入门
MYSQL简单入门: 查询库名称:show databases; information_schema mysql test 2:创建库 create database 库名 DEFAULT CHAR ...
- Okio 1.9简单入门
Okio 1.9简单入门 Okio库是由square公司开发的,补充了java.io和java.nio的不足,更加方便,快速的访问.存储和处理你的数据.而OkHttp的底层也使用该库作为支持. 该库极 ...
- emacs最简单入门,只要10分钟
macs最简单入门,只要10分钟 windwiny @2013 无聊的时候又看到鼓吹emacs的文章,以前也有几次想尝试,结果都是玩不到10分钟就退出删除了. 这次硬着头皮,打开几篇文章都看完 ...
- 【java开发系列】—— spring简单入门示例
1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...
- Docker 简单入门
Docker 简单入门 http://blog.csdn.net/samxx8/article/details/38946737
- Springmvc整合tiles框架简单入门示例(maven)
Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...
- git简单入门
git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...
- 程序员,一起玩转GitHub版本控制,超简单入门教程 干货2
本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注 ...
- Web---演示Servlet的相关类、表单多参数接收、文件上传简单入门
说明: Servlet的其他相关类: ServletConfig – 代表Servlet的初始化配置参数. ServletContext – 代表整个Web项目. ServletRequest – 代 ...
随机推荐
- spring mvc 4识别浏览器(移动端) spring-mobile-device
官方文档: http://projects.spring.io/spring-mobile/ 通过mvc.xml配置示例: http://blog.csdn.net/wuyt2008/article/ ...
- 2016-12-15 java开发工作中,尚未做的工作
目前未涉及的工作内容: 1.将静态页导入工程,建成jsp文件.配置css.js.img文件.跳转路径 2.未用工具生成pojo dao service等源码文件 3.未签入自己写的代码 4.未搭建子系 ...
- 网络请求三方库——OkHttp
我们知道在Android开发中是可以直接使用现成的API进行网络请求的,就是使用 HttpClient 和 HttpURLConnention ,而Android 4.4 之后 HttpClient ...
- Beta版本冲刺——day6
No Bug 031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫 站立式会议 今日计划表 人员 工作 ...
- [2016.08.09]文本替换专家 v5.2
软件名称:文本替换专家最新版本:v5.2软件授权:共享软件发布日期:2016.01.18文件大小:650KB操作系统:XP/2003/Win7/Win2008开发人员:胡洪祥版权所有:胡洪祥
- AngularJS---自定义指令
AngularJS提供了一系列的内置指令,如ng开头的指令,同时AngularJS也允许用户自定义指令. 目录: 1.自定义指令 2.使用自定义指令 3.自定义指令的内嵌使用 自定义指令 Angula ...
- [系统开发] 一个基于Django和PureCSS的内容管理系统
这是我刚开发的一套基于Django和PureCSS的内容管理系统,目标是优雅.简洁.实用,目前功能还在完善中. 系统参考了网上的教程,除了文章管理.搜索.RSS,还增加了类别管理.用户管理,以及评论管 ...
- js api 实现钉钉免登
js api 实现钉钉免登,用于从钉钉微应用跳转到企业内部的oa,erp等,我刚刚实施完了我公司的这个功能,钉钉用起来还不错. 1 js api 实现钉钉免登,页面配置. <title>利 ...
- 关于 iOS 10 中 ATS 的问题
本文于 2016 年 11 月 28 日按照 Apple 最新的文档和 Xcode 8 中的表现进行了部分更新. WWDC 15 提出的 ATS (App Transport Security) 是 ...
- vuejs,router
接下来我们要做的是vue的路由处理,首先当然是安装: npm install vue-router 接下打开我们的main.js,引入我们vue-router,然后在告诉vue我们要使用我们的vue- ...