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、待更新...

目录
相关文章
|
存储 算法 数据库
一起聊聊图像质量和美学评估的数据集
图像质量和美学评估是计算机视觉领域中热点的研究问题,并且极具应用前景,可与众多实际应用深度结合。评价一张图片,主要从两个方向,一个是图像的质量,如像素、清晰度、有无噪声等,一个是图像的感觉,也就是美学,如构图、颜色、内容主体等。通过这两个方面就可以评价一张图片的好坏,通过计算机视觉算法,可以为图片自动评分,得分高的图片被认为较好,可以用于推荐和搜索等应用场景。本文主要聊聊一些关于图像质量和美学评估
13460 1
|
JSON Java API
原生Feign使用详解(HTTP客户端)(一)
原生Feign使用详解(HTTP客户端)(一)
582 1
|
11月前
|
人工智能 API 数据库
Qwen-Agent功能调用实践探索
本文详细解析了Qwen-Agent的核心功能——功能调用,涵盖其定义、工作流程、重要性和实际应用,通过实例展示了如何在Qwen-Agent中利用此功能与外部工具和API互动,扩展AI应用范围。
|
前端开发 JavaScript 开发者
React与Vue:前端框架的巅峰对决与选择策略
【10月更文挑战第23天】React与Vue:前端框架的巅峰对决与选择策略
|
网络协议
wireshark 显示过滤表达式
wireshark 显示过滤表达式
310 9
|
程序员 C语言
C语言中的内部函数与外部函数
C语言中的内部函数与外部函数
504 0
|
缓存 JavaScript 前端开发
Vue首屏优化12条建议
将首屏所需的组件和代码拆分成独立的模块,并使用懒加载技术(如 Vue 的异步组件或路由懒加载)来按需加载它们。这样可以减少初始加载的代码量,提高首屏的加载速度。
|
存储 消息中间件 编解码
Logstash收集多数据源数据神器
Logstash收集多数据源数据神器
565 0
Logstash收集多数据源数据神器
|
缓存 Unix Linux
【C语言】详解getchar和putchar的使用方法
我们知道scanf函数可以从键盘输入信息,而printf则可以输出信息,同样地,getchar和putchar也有同样的功能。下面我来给大家介绍putchar和getchar的使用方法。
1251 0
|
XML Java 编译器
【C++】 C++ 基础进阶【一】易错点
本文章主要分享 C++ 的一些基础和易错点,通过比较好的编程方式和借助编译器,将节省的精力和时间用在重要的事情上。
432 0