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. bash shell,调用ffmpeg定期截图

    #!/bin/bash #获取当前目录中所有m3u8文件,并 var=$(ls |grep '.m3u8'|cut -d '.' -f1) #死循环 = ] do #循环每个文件 for stream ...

  2. Jmeter基础之---jmeter基础概念

    Jmeter基础之---jmeter基础概念 JMeter 介绍: 一个非常优秀的开源的性能测试工具. 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来. JMeter 介绍: 一个非常优 ...

  3. 分析案例:应用服务器W3WP进程CPU持续超过百分之九十(Oracle客户端Bug)

    问题描述: 项目反馈应用负载的其中一台服务器业务操作的响应非常慢,登录该服务器发现W3WP进程CPU持续超过90%,哪怕在业务低峰期也是如此?远程查看后发现该应用服务器承载的请求确实很低,why??? ...

  4. 获取ICommand的图片

    BarButtonItem item = (BarButtonItem)e.Item; System.IntPtr _Handle = (System.IntPtr)(cmd as ICommand) ...

  5. [转]./configure,make,make install的作用

    ./configure,make,make install的作用(转) 这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. ./configure是用来检测你的安装平台 ...

  6. java并发编程系列

    1.多线程的概念与使用:java笔记五:多线程的使用 2.多线程产生的问题,解决的方法, 1.引入线程池的原因:Java并发编程:线程池的使用 2.高并发情况下数据库提交:jdbc事务处理, 理解事务 ...

  7. java sdk与jdk区别

    SDK是Software Development Kit的缩写,中文意思是"软件开发工具包".这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档.范例和工具的集 ...

  8. C# dataTable 排序

    DataView dv = ds.DefaultView; dv.Sort = "header asc"; ds = dv.ToTable(); C# dataTable 排序

  9. Node.js的循环与异步问题

    (转自:http://bbs.tianya.cn/post-itinfo-280080-1.shtml) Node.js 的异步机制由事件和回调函数实现,一开始接触可能会感觉违反常规,但习惯 以后就会 ...

  10. Sybase

    Variable Naming Convention first character can be alphabetic character, _, @. Followed by alphabetic ...