Gson(Google)基础
一、所需jar包:
gson-x.x.jar(本例使用的是gson-2.7.jar)。
二、解析转化:
1、json字符串 < ------ > json
        String str="{\"name\" : \"peter\",\"age\" : 25,\"address\" : \"广州\",\"weight\" : \"55.5\",\"handsome\" : true}";
        Gson gson=new Gson();
        //json字符串  ------>  json
        JsonObject jsonObject=new JsonParser().parse(str).getAsJsonObject();
        //json  ------>  json字符串
        String json=jsonObject.toString();
2、java实体类 < ------ > json
public class User {
    private String name;
    private int age;
    private String address;
    private double weight;
    private boolean handsome;
    //此处省略构造方法和get/set方法
        User user=new User("peter", 20, "广州", 55.5, true);
        /*
         * java实体类   ------>  json
         */
        //java实体类   ------> json字符串
        String jsonStr=new Gson().toJson(user);
        //json字符串  ------>  json
        JsonObject jsonObject=new JsonParser().parse(jsonStr).getAsJsonObject();
        //json  ------>  java实体类
        User user2=new Gson().fromJson(jsonObject, User.class);
3、List < ------ > json
List<String> list=new ArrayList<String>();
list.add("QQQQQQ");
list.add("WWWWWW");
list.add("EEEEEE");
list.add("RRRRRR"); Gson gson=new Gson();
//List------>json字符串------>jsonAray
String arrStr=gson.toJson(list);
JsonArray jsonArray=new JsonParser().parse(arrStr).getAsJsonArray(); //jsonAray------>List
List<String> list2=gson.fromJson(jsonArray, List.class);
4、Map < ------ > json
Map<String, String> map=new HashMap<String, String>();
map.put("name", "peter");
map.put("sex", "Man");
map.put("age", "20"); Gson gson=new Gson();
//Map------>json字符串------>json
String gsonStr=gson.toJson(map);
JsonObject jsonObject=new JsonParser().parse(gsonStr).getAsJsonObject(); //json------->Map
Map<String, String> map2=gson.fromJson(jsonObject, Map.class);
5、Set < ------ > json
Set<String> set=new HashSet<String>();
set.add("QQQQQQ");
set.add("wwwwww");
set.add("eeeeee"); Gson gson=new Gson(); //Set------>json字符串------>json
String gsonStr=gson.toJson(set);
JsonArray jsonArray=new JsonParser().parse(gsonStr).getAsJsonArray(); //json----->Set
Set<String> set2=gson.fromJson(jsonArray, Set.class);
心得:Gson(Google)是将json字符串作为“桥梁”进行转化的。
三、CRUD:
1、查询数据:
//"peter"
String name1=jsonObject.get("name").toString();
//peter
String name2=jsonObject.get("name").getAsString();
int age=jsonObject.get("age").getAsInt();
        for (int i = 0; i < jsonArray.size(); i++) {
            System.out.println(jsonArray.get(i));
        }
2、增加数据
        jsonObject.addProperty("height", 170);
        jsonArray.add("RRRRRR");
3、删除数据:
        jsonObject.remove("height");
//index从0开始
jsonArray.remove(index);
4、修改数据:
//重置数据即可
jsonObject.addProperty("height", 180);
        for (int i = 0; i < jsonArray.size(); i++) {
            if("EEEEEE".equals(jsonArray.get(i).getAsString())){
                jsonArray.remove(i);
                jsonArray.add("eeeeee");
            }
        }
Gson(Google)基础的更多相关文章
- Json,Gson,Ajax基础知识
		
//json 是一种轻量级的文本格式,解析简单,他也是一键值来存,数据与数据的分割是以,来分割 //{} 看到大括号就是一个对象,[]代表集合 ,基本上所有数据的交互都是以json格式来进行传递的 / ...
 - Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例
		
Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例 继上篇json解析,我用了原生的json解析,但是在有些情况下我们不得不承认,一些优秀的json解析框架确实十分的 ...
 - Gson和Fastjson的使用
		
转载自:JSON技术的调研报告 一.Google的Gson包的使用简单介绍. Gson类:解析json的最基础的工具类 JsonParser类:解析器来解析JSON到JsonElements的解析树 ...
 - Gson?So easy.
		
1.概述 这篇文章主要讲述了Gson的使用.包括从最基础的基本类型的序列化,到对象,数组,集合,再到Gson注解,Gson Builder,再到格式化,自定义序列化与反序列化等内容. 另外文章篇幅较长 ...
 - 转:Google论文之一----Bigtable学习翻译
		
文章来自于:http://www.cnblogs.com/geekma/archive/2013/05/30/3108391.html Bigtable研究 摘要 Bigtable是一个用于管理结构型 ...
 - 谷歌三大核心技术(三)Google BigTable中文版
		
谷歌三大核心技术(三)Google BigTable中文版 Bigtable:一个分布式的结构化数据存储系统 译者:alex 摘要 Bigtable是一个分布式的结构化数据存储系统,它被设计用来处理海 ...
 - 你真的会用Gson吗?Gson使用指南(2)
		
注:此系列基于Gson 2.4. 上一篇文章 你真的会用Gson吗?Gson使用指南(1) 我们了解了Gson的基础用法,这次我们继续深入了解Gson的使用方法. 本次的主要内容: Gson的流式反序 ...
 - 【转】谷歌三大核心技术(三)Google BigTable中文版
		
谷歌三大核心技术(三)Google BigTable中文版 摘要 Bigtable 是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服务器上的PB级的数据.Goo ...
 - 几款Java常用基础工具库
		
通用工具类(字符串.时间格式化.BeanUtils.IO) 1. commons-lang3库 1.1. org.apache.commons.lang3.StringUtils类 日常代码中,我们经 ...
 - Google论文BigTable拜读
		
这周少打点dota2,争取把这篇论文读懂并呈现出来,和大家一起分享. 先把论文搞懂,然后再看下和论文搭界的知识,比如hbase,Chubby和Paxos算法. Bigtable: A Distribu ...
 
随机推荐
- 使用iLO远程管理HP系列服务器
			
iLO是Integrated Ligths-out的简称,是HP服务器上集成的远程管理端口,它是一组芯片内部集成vxworks嵌入式操作系统,通过一个标准RJ45接口连接到工作环境的交换机.只要将服务 ...
 - Java秒杀简单设计一:搭建springboot环境
			
项目参考:慕课网 https://www.imooc.com/learn/587 Java秒杀 开发环境 JDK1.8.Maven.Mysql.Eclipse.SpringBoot2.0.5.myb ...
 - C++ Error : initial value of reference to non-const must be an lvalue
			
如下这段代码,编译报错: Error : initial value of reference to non-const must be an lvalue #include <iostream ...
 - wpgcms---流程控制
			
在模板里面Twig标签语法的时候,很多时候会用到流程控制. if 判断: {% if true %} {% endif %} // 示例 {% if item.href %} href="{ ...
 - thinkphp---用事务处理批量操作
			
我们在进行一些业务逻辑的时候,难免会出现批量操作的问题,特别是批量修改操作,如果数据量大,总会考虑到批量修改到一半怎么办?所以如果使用事务来进行批量操作就会好很多,直接看代码: public func ...
 - python的十进制与任意进制的转换
			
将任意进制转换成十进制 ", 8)) # 表示把8进制的54转换成十进制数并输出结果. # 8可以是2.8,10,16等进制数 将十进制转换成任意进制 def f(n,x): #n为待转换的 ...
 - 公司HBase基准性能测试之准备篇
			
本次测试主要评估线上HBase的整体性能,量化当前HBase的性能指标,对各种场景下HBase性能表现进行评估,为业务应用提供参考. 测试环境 测试环境包括测试过程中HBase集群的拓扑结构.以及需要 ...
 - HDU - 5961 传递  想法,bfs
			
题意:给你一个有向图,满足去掉方向是完全图,将其拆成PQ两个图(没有公共边),问你两图是否分别满足对于任意3个点a,b,c 若有一条边从a到b且有一条边从b到c ,则同样有一条边从a到c. 题解:观察 ...
 - AudioUnit录音并同步播放时遇到的问题
			
AudioComponentDescription desc; desc.componentType =kAudioUnitType_Output; desc.componentSubType = k ...
 - 算术平均数     print('arithmeticAverageSingleCompressionRatio:', sum(singleCompressionRatio)/len(singleCompressionRatio))
			
print('arithmeticAverageSingleCompressionRatio:', sum(singleCompressionRatio)/len(singleCompressionR ...