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---简单入门的更多相关文章

  1. 用IntelliJ IDEA创建Gradle项目简单入门

    Gradle和Maven一样,是Java用得最多的构建工具之一,在Maven之前,解决jar包引用的问题真是令人抓狂,有了Maven后日子就好过起来了,而现在又有了Gradle,Maven有的功能它都 ...

  2. [原创]MYSQL的简单入门

    MYSQL简单入门: 查询库名称:show databases; information_schema mysql test 2:创建库 create database 库名 DEFAULT CHAR ...

  3. Okio 1.9简单入门

    Okio 1.9简单入门 Okio库是由square公司开发的,补充了java.io和java.nio的不足,更加方便,快速的访问.存储和处理你的数据.而OkHttp的底层也使用该库作为支持. 该库极 ...

  4. emacs最简单入门,只要10分钟

    macs最简单入门,只要10分钟  windwiny @2013    无聊的时候又看到鼓吹emacs的文章,以前也有几次想尝试,结果都是玩不到10分钟就退出删除了. 这次硬着头皮,打开几篇文章都看完 ...

  5. 【java开发系列】—— spring简单入门示例

    1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...

  6. Docker 简单入门

    Docker 简单入门 http://blog.csdn.net/samxx8/article/details/38946737

  7. Springmvc整合tiles框架简单入门示例(maven)

    Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...

  8. git简单入门

    git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...

  9. 程序员,一起玩转GitHub版本控制,超简单入门教程 干货2

    本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注 ...

  10. Web---演示Servlet的相关类、表单多参数接收、文件上传简单入门

    说明: Servlet的其他相关类: ServletConfig – 代表Servlet的初始化配置参数. ServletContext – 代表整个Web项目. ServletRequest – 代 ...

随机推荐

  1. == 与 equals 的区别

    今天跟开发修复一个bug,现在列出来这个绕口的比较 场景一: Long a = 1: Long b = 1: boolean result = (a == b); //此时result的值为false ...

  2. servlet简单用法和配置示例及说明

    学习原因和目的:   我如今所接触的项目都是bs模式的web应用,而里边基本上都是用的spring MVC和前台交互,servlet貌似用的很少.   但是即便是用spring和spring MVC, ...

  3. (PHP)程序中如何判断当前用户终端是手机等移动终端

    推荐: Mobile-Detect:https://github.com/serbanghita/Mobile-Detect/blob/master/Mobile_Detect.php Detect ...

  4. spring 官方下载地址(Spring Framework 3.2.x&Spring Framework 4.0.x)

    spring官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用Maven和Gradle开发项目的,下载就非常麻烦,下给出Spring Framework jar官方直接下载路径: h ...

  5. js转换数据类型为浮点型,并取两位小数点

    转换数据类型 parseFloat();//转换为浮点型 parseInt();//转换为整形 取后面两位小数 bianliang.toFixed(2);//取后面两位小数,2代表取多少位

  6. oracle ||,

    || oracle数据库中的 ||称为 "字符串连接符" 用于连接查询结果,如下: select trade_id,accept_date from A; ------------ ...

  7. 25+ Useful Selenium Web driver Code Snippets For GUI Testing Automation

    本文总结了使用Selenium Web driver 做页面自动化测试的一些 tips, tricks, snippets. 1. Chrome Driver 如何安装 extensions 两种方式 ...

  8. 【摘】linux中fstab解说

    https://wiki.archlinux.org/index.php/Fstab_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 一个简单的 /etc/fstab,使 ...

  9. Unity5中的MetaPass

    前些天烘焙lightmap的时候发现用自己写的Shader的模型在烘焙时候不会烘焙效果不对,它不会产生对周围物体的间接光照,但是我放到了unity4.x中就是没问题的.查了一番,发现Unity5中加了 ...

  10. C++设计模式-Strategy策略模式

    Strategy策略模式作用:定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户. UML图: Strategy模式将逻辑(算法)封装到一个类(Cont ...