GSON - 基础篇

简介: GSON - 基础篇

GSON:Google的GSON,在JSON的基础之上,强化JSON功能。

JSON & GSON 区别:


1、@SerializedName:指定该字段在序列化成 JSON 时的名称。


@SerializedName("w")
private int width;

2、GSON美化JSON格式化.

3、自定义规则:translateName,但@SerializedName一起用时,注解会覆盖translateName。


FieldNamingStrategy customPolicy = new FieldNamingStrategy() {
    @Override
        public String translateName(Field f) {
            return f.getName().replace("_", "");
      }
};
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setFieldNamingStrategy(customPolicy);
Gson gson = gsonBuilder.create();
UserNaming user = new UserNaming("Norman", "norman@futurestud.io", true, 26);
String usersJson = gson.toJson(user);

4、transient,在JavaBean的属性前添加该关键字,在生成JSON时,省略该属性

5、支持互转:

(1)从JSON反解析成JavaBean


import com.google.gson.Gson;  
class TestJsonFromObject {  
  private int data1;  
  private String data2;  
}  
String json = "{'data1':100,'data2':'hello'}";  
Gson gson = new Gson();  
TestJsonFromObject obj = gson.fromJson(json, TestJsonFromObject.class);  

(2)从JavaBean反解析成JSON

class TestObjectToJson {  
  private int data1 = 100;  
  private String data2 = "hello";  
}  
TestObjectToJson obj = new TestObjectToJson();  
Gson gson = new Gson();  
String json = gson.toJson(obj);

6、一次性为所有JSON日期字符串类型格式化日期

@Test
public void test() throws IOException {
    Gson gson = new GsonBuilder()
        .setDateFormat("yyyy-MM-dd hh:mm:ss")
        .create();
    System.out.println(gson.toJson(new Date()));
}

7、对于集合类:List、Set……,GSON可以一 一对应

8、处理大JSON文件 => JSON & GSON - 读取 JSON 文件

9、待更新...

目录
相关文章
|
JSON fastjson Java
FastJson、JackJson 以及 Gson 的区别
FastJson、JackJson 以及 Gson 是 Java 生态圈中三种常用的 Json 解析器,它们均可将 Java 对象序列化为 Json 格式的字符串,也可将 Json 字符串反序列化为 Java 对象。下面我们讨论一下三者在序列化和反序列化操作中的一些区别。
1192 0
|
2月前
|
JSON JavaScript Java
在Java中处理JSON数据:Jackson与Gson库比较
本文介绍了JSON数据交换格式及其在Java中的应用,重点探讨了两个强大的JSON处理库——Jackson和Gson。文章详细讲解了Jackson库的核心功能,包括数据绑定、流式API和树模型,并通过示例演示了如何使用Jackson进行JSON解析和生成。最后,作者分享了一些实用的代码片段和使用技巧,帮助读者更好地理解和应用这些工具。
159 0
在Java中处理JSON数据:Jackson与Gson库比较
|
2月前
|
消息中间件 JSON Java
Gson:备胎alternate的版本问题
Gson:备胎alternate的版本问题
|
7月前
|
JSON fastjson Java
Gson与FastJson详解
综上,Gson和FastJson都是用于Java对象和JSON数据互相转换的优秀库,选择哪个取决于性能、功能需求和个人偏好。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
102 2
|
JSON 数据格式
gson坑
gson坑
58 0
|
JSON Java API
Gson基本使用
Gson基本使用
145 0
|
JSON Java API
Gson-更新中
Gson-更新中
205 0
|
JSON 数据可视化 fastjson
Gson 简单使用姿势小结
关于 Json 序列化的框架可以说比较多了,比如 Spring 默认的 Jackson,国内互联网用的比较多的 FastJson,本文则主要介绍一下 Gson 的简单使用姿势,并不会涉及到不同的 json 框架的性能对比
230 0
Gson 简单使用姿势小结
|
JSON 前端开发 JavaScript
JSON解析教程(Gson、FastJson、Jackson)
JSON解析教程(Gson、FastJson、Jackson)
JSON解析教程(Gson、FastJson、Jackson)
|
JSON Java 测试技术
Google Gson用法详解
Google Gson用法详解
902 0
Google Gson用法详解