gson 与 SerializedName : 修改json生成的bean类字段名称

2023-12-23 04:08

本文主要是介绍gson 与 SerializedName : 修改json生成的bean类字段名称,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


import com.google.gson.FieldNamingPolicy
import com.google.gson.GsonBuilder
import com.google.gson.annotations.SerializedName
import org.junit.Test/*** SerializedName* 修改json字段名称*/
data class UserNaming(@SerializedName("Name")var name: String,@SerializedName("email_of_developer")var emailOfDeveloper: String,@SerializedName("isDeveloper")var isDeveloper: Boolean,@SerializedName("_ageOfDeveloper")var ageOfDeveloper: Int,var numStr: String
)class ExampleUnitTest2 {@Testfun test1() {val builder = GsonBuilder()builder.setFieldNamingPolicy(FieldNamingPolicy.IDENTITY)val gson = builder.create()//json多一个haha字段val jsonStr ="{\"haha\":\"666\",\"Name\":\"name\",\"email_of_developer\":\"email\"," +"\"isDeveloper\":true,\"_ageOfDeveloper\":26}"println("usersJson===$jsonStr")val userNaming = gson.fromJson(jsonStr, UserNaming::class.java)println("usersBean===$userNaming")}//usersJson==={"haha":"666","Name":"name","email_of_developer":"email","isDeveloper":true,"_ageOfDeveloper":26}//usersBean===UserNaming(name=name, emailOfDeveloper=email, isDeveloper=true, ageOfDeveloper=26, numStr=null)@Testfun test2() {val builder = GsonBuilder()builder.setFieldNamingPolicy(FieldNamingPolicy.IDENTITY)val gson = builder.create()//json少字段val jsonStr ="{\"email_of_developer\":\"email\",\"isDeveloper\":true,\"_ageOfDeveloper\":26}"println("usersJson===$jsonStr")val userNaming = gson.fromJson(jsonStr, UserNaming::class.java)println("usersBean===$userNaming")}//usersJson==={"email_of_developer":"email","isDeveloper":true,"_ageOfDeveloper":26}//usersBean===UserNaming(name=null, emailOfDeveloper=email,// isDeveloper=true, ageOfDeveloper=26, numStr=null)}

这篇关于gson 与 SerializedName : 修改json生成的bean类字段名称的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/526652

相关文章

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

IDEA如何将String类型转json格式

《IDEA如何将String类型转json格式》在Java中,字符串字面量中的转义字符会被自动转换,但通过网络获取的字符串可能不会自动转换,为了解决IDEA无法识别JSON字符串的问题,可以在本地对字... 目录问题描述问题原因解决方案总结问题描述最近做项目需要使用Ai生成json,可生成String类型

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

Python中json文件和jsonl文件的区别小结

《Python中json文件和jsonl文件的区别小结》本文主要介绍了JSON和JSONL两种文件格式的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 众所周知,jsON 文件是使用php JSON(JavaScripythonpt Object No

python修改字符串值的三种方法

《python修改字符串值的三种方法》本文主要介绍了python修改字符串值的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录第一种方法:第二种方法:第三种方法:在python中,字符串对象是不可变类型,所以我们没办法直接

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

Mysql8.0修改配置文件my.ini的坑及解决

《Mysql8.0修改配置文件my.ini的坑及解决》使用记事本直接编辑my.ini文件保存后,可能会导致MySQL无法启动,因为MySQL会以ANSI编码读取该文件,解决方法是使用Notepad++... 目录Myhttp://www.chinasem.cnsql8.0修改配置文件my.ini的坑出现的问题

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P