Java基础98 gson插件的使用
1、要用到的包

概念:JSON是javascript对象的一种形态,是一种轻量级的数据交换格式。一般用来在Java EE后台服务和Android或者ios、HTML5之间进行通信的一种数据传递的格式。
Gson是谷歌推出的一个用于生成和解析JSON数据格式的工具;
2、实例
实体类 people
package com.shore.entity; /**
* @author DSHORE/2019-4-21
*
*/
public class People {
private int pid;
private String pname;
private int age;
private String job;
private double sal; public People() { }
public People(int pid, String pname, int age, String job, double sal) {
super();
this.pid = pid;
this.pname = pname;
this.age = age;
this.job = job;
this.sal = sal;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public double getSal() {
return sal;
}
public void setSal(double sal) {
this.sal = sal;
}
@Override
public String toString() {
return "People [pid=" + pid + ", pname=" + pname + ", age=" + age
+ ", job=" + job + ", sal=" + sal + "]";
}
}
gson 测试类
package com.shore.test; import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List; import net.sf.json.JSONObject; import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.shore.entity.People; /**
* @author DSHORE/2019-4-21
*
*/
public class GsonTest {
public static void main(String[] args) {
People p = new People();
p.setAge(18);
p.setPname("张三");
p.setJob("工程师");
p.setPid(1);
p.setSal(10000); People p2 = new People();
p2.setAge(20);
p2.setPname("李四");
p2.setJob("设计师");
p2.setPid(2);
p2.setSal(8000); People p3 = new People();
p3.setAge(20);
p3.setPname("王五");
p3.setJob("工程师");
p3.setPid(3);
p3.setSal(15000); //1.将java对象转为json字符串
Gson gson = new Gson();
String json = gson.toJson(p);
System.out.println(json); //返回值:{"pid":1,"pname":"张三","age":18,"job":"工程师","sal":10000.0} //2.将json字符串转为java对象
json = "{\"age\":18,\"job\":\"工程师\",\"pid\":1,\"pname\":\"张三\",\"sal\":10000}";
People people = gson.fromJson(json, People.class);
System.out.println(people);//返回值:People [pid=1, pname=张三, age=18, job=工程师, sal=10000.0]
//p2对象
JSONObject jsonObject = JSONObject.fromObject(p2);
System.out.println(jsonObject);//返回值:{"age":20,"job":"设计师","pid":2,"pname":"李四","sal":8000} //3.将一个对象集合转为json
List<People> list = new ArrayList<People>();
list.add(p);
list.add(p2);
list.add(p3);
json=gson.toJson(list);
System.out.println(json);//返回值:[{"pid":1,"pname":"张三","age":18,"job":"工程师","sal":10000.0},{"pid":2,"pname":"李四","age":20,"job":"设计师","sal":8000.0},{"pid":3,"pname":"王五","age":20,"job":"工程师","sal":15000.0}] //4.将json字符串转为带泛型集合对象
Type listType=new TypeToken<List<People>>(){}.getType();
List<People> list2=gson.fromJson(json,listType);
System.out.println(list2.get(2).getPname());//返回值:王五 get(2)中的2表示:下标值
}
}
json插件的使用(java对象和json字符串对象之间的转换)
|
原创作者:DSHORE 作者主页:http://www.cnblogs.com/dshore123/ 原文出自:https://www.cnblogs.com/dshore123/p/10746722.html 欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!) |
Java基础98 gson插件的使用的更多相关文章
- Java基础97 json插件的使用(java对象和json字符串对象之间的转换)
1.需要用到的包 2.实例 实体类 people package com.shore.entity; /** * @author DSHORE/2019-4-19 * */ public class ...
- Java | 基础归纳 | Gson && Json
JSON: JSON就是一种数据的组织形式,用于数据传输. 地址:https://mvnrepository.com/artifact/net.sf.json-lib/json-lib/2.4 Mav ...
- java基础——入门篇
整体大纲图 1.认识java 核心知识点:JVM.搭建Java开发环境.java的发展史.java特点.java程序类型.垃圾收集器.J2SE下载和安装.环境变量的配置和测试.以及简单的开发工具的使用 ...
- Java基础面试题集(一)
Java基础面试题 一.面向对象编程(OOP) 7 二.常见的Java问题 7 2.1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? 7 2.2.JDK和JRE的区别是什么? ...
- 精心收集java基础106条
Java基础 1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 一个Java源文件中可以定义多个类,但最多只能定义一个public的类,并且public ...
- 轻量级 Java 基础开发框架,Solon & Solon Cloud 1.5.48 发布
Solon 已有120个生态扩展插件,此次更新主要为细节打磨: 增加 solon.serialization,做为序列化的基础插件 优化 所有Json序列化插件,使之可方便定制类型序列化 public ...
- java基础学习03(java基础程序设计)
java基础程序设计 一.完成的目标 1. 掌握java中的数据类型划分 2. 8种基本数据类型的使用及数据类型转换 3. 位运算.运算符.表达式 4. 判断.循环语句的使用 5. break和con ...
- Java基础语法
java基础学习总结——基础语法1 一.标识符
- Java基础常见英语词汇
Java基础常见英语词汇(共70个) ['ɔbdʒekt] ['ɔ:rientid]导向的 ['prəʊɡræmɪŋ]编程 OO: object ...
随机推荐
- My thoughts after NOIP 2018(1)
联赛就这样结束了. 感觉真是奇怪啊.以前看重的东西,像是忽然扔下的包袱,一下子轻了. 而我一直在逃避的,不愿直面的东西,果然终于还是要再次面对了啊. 文化课百废待兴,\(noip\)的最终结果依然未知 ...
- JavaSE学习总结(七)—— 集合
一.为什么需要集合 如果要将100个学生成绩存放到程序中,怎么做? 首先想到是数组 int[] scores=new int[100]; 然而,长度是固定的,比如是101个学生成绩,这个数组就不能用了 ...
- Linux 命令详解(十一)Shell 解析 json命令jq详解
前言 在自动化部署中涉及到shell脚本需要动态读取很多配置文件,最好是json格式. 更多jq信息: http://stedolan.github.io/jq/manual/ 一.根据key获取va ...
- webstorm 很卡 scanning files to index (扫描文件索引)
webstorm 号称"前端神器",但npm导入包跑索引,会很卡不停的跑索引... 排除你不想索引的文件夹 找到你想排除的文件夹(主要是node_modulewe文件夹),右键选择 ...
- Python XML操作
XML(可扩展性标记语言)是一种非常常用的文件类型,主要用于存储和传输数据.在编程中,对XML的操作也非常常见. 本文根据python库文档中的xml.etree.ElementTree类来进行介绍X ...
- offset[Parent/Width/Height/Top/Left] 、 client[Width/Height/Top/Left] 、 Element.getBoundingClientRect()
开篇提示:以下内容都经个人测试,参考API文档总结,但还是不能保证完全正确,若有错误,还请留言指出___________________________________________________ ...
- 如何利用 Python 完成验签操作
柠檬班Python8期的佑佑以及Python7期的掠掠同学昨天都私下问华华老师如何利用Python完成验签的操作. 今天我们就以佑佑的例子来跟大家进行简单的说明以及操作! 一.什么是验签: 用非常简单 ...
- Jquery对当前日期的操作(格式化当前日期)
// 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...
- java Comparable 和 Cloneable接口
Comparable接口定义了compareTo方法,用于比较对象. 例如,在JavaAPI中,Integer.BigInteger.String以及Date类定义如下 Cloneable接口 Clo ...
- 使用Groovy的mixin方法注入,和mixedIn属性实现过滤链
mixin方法注入不多说,这里只是用这个属性搞一个过滤器链的功能 假设我现在有个方法,输入一个字符串,然后需求提出需要进行大写转换输出, 过了一天又要加个前缀,再过了一天,需要把一些字符过滤掉.... ...