gson的SerializedName与枚举类 (根据后台返回数据处理)

2023-12-23 04:08

本文主要是介绍gson的SerializedName与枚举类 (根据后台返回数据处理),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

示例一:

//后台字段枚举
enum class Day(val type: Int, val desc: String) {@SerializedName("1")MONDAY(1, "A"),@SerializedName("2")TUESDAY(2, "B"),@SerializedName("3")WEDNESDAY(3, "C"),@SerializedName("4")THURSDAY(4, "D"),@SerializedName("5")FRIDAY(5, "E"),@SerializedName("6")SATURDAY(6, "F"),@SerializedName("7")SUNDAY(7, "G")
}//后台数据
data class User(val name: String? = null,val day: Day = Day.FRIDAY
)//测试
fun main() {val gson = Gson()var user = User("xq", Day.WEDNESDAY)val userWithEnumJson = gson.toJson(user)println("生成json===========================================$userWithEnumJson")val userJson = "{\"name\":\'xq\',\"day\":5}"user = gson.fromJson(userJson, User::class.java)println("解析json===========================================${user}")println("解析json===========================================${user.day}")println("解析json===========================================${user?.day?.type}")println("解析json===========================================${user?.day?.desc}")
}
//生成json==========================================={"name":"xq","day":"3"}
//解析json===========================================User(name=xq, day=FRIDAY)
//解析json===========================================FRIDAY
//解析json===========================================5
//解析json===========================================E

示例二:

后台返回的枚举value值多样,我们可以自己定义多个数据

enum class City(val cityId: Int, val cityName: String) {A(11, "广州"),B(20, "深圳"),C(35, "佛山"),D(49, "东莞");
}private val list: List<City> = listOf(City.A,City.B,City.C,City.D
)@Test
fun test4() {list.forEach {println("${it.cityId}==========================${it.cityName}")}
}
@Test
fun test3() {val list: List<Map<Int, String>> = listOf(mapOf(11 to "广州"),mapOf(20 to "深圳"),mapOf(35 to "佛山"),mapOf(49 to "东莞"))list.forEach {for (en in it.entries) {println("${en.key}====================${en.value}")}}
}
@Test
fun test2() {data class StringArrayBean(val id: Int,val name: String)val list: List<StringArrayBean> = listOf(StringArrayBean(11, "广州"),StringArrayBean(20, "深圳"),StringArrayBean(35, "佛山"),StringArrayBean(49, "东莞"))list.forEach {println("${it.id}========================${it.name}")}
}

这篇关于gson的SerializedName与枚举类 (根据后台返回数据处理)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python xmltodict实现简化XML数据处理

《Pythonxmltodict实现简化XML数据处理》Python社区为提供了xmltodict库,它专为简化XML与Python数据结构的转换而设计,本文主要来为大家介绍一下如何使用xmltod... 目录一、引言二、XMLtodict介绍设计理念适用场景三、功能参数与属性1、parse函数2、unpa

C#实现获得某个枚举的所有名称

《C#实现获得某个枚举的所有名称》这篇文章主要为大家详细介绍了C#如何实现获得某个枚举的所有名称,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... C#中获得某个枚举的所有名称using System;using System.Collections.Generic;usi

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

Java 枚举的常用技巧汇总

《Java枚举的常用技巧汇总》在Java中,枚举类型是一种特殊的数据类型,允许定义一组固定的常量,默认情况下,toString方法返回枚举常量的名称,本文提供了一个完整的代码示例,展示了如何在Jav... 目录一、枚举的基本概念1. 什么是枚举?2. 基本枚举示例3. 枚举的优势二、枚举的高级用法1. 枚举

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

hdu 2489 (dfs枚举 + prim)

题意: 对于一棵顶点和边都有权值的树,使用下面的等式来计算Ratio 给定一个n 个顶点的完全图及它所有顶点和边的权值,找到一个该图含有m 个顶点的子图,并且让这个子图的Ratio 值在所有m 个顶点的树中最小。 解析: 因为数据量不大,先用dfs枚举搭配出m个子节点,算出点和,然后套个prim算出边和,每次比较大小即可。 dfs没有写好,A的老泪纵横。 错在把index在d

hdu 6198 dfs枚举找规律+矩阵乘法

number number number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description We define a sequence  F : ⋅   F0=0,F1=1 ; ⋅   Fn=Fn

【Rust练习】12.枚举

练习题来自:https://practice-zh.course.rs/compound-types/enum.html 1 // 修复错误enum Number {Zero,One,Two,}enum Number1 {Zero = 0,One,Two,}// C语言风格的枚举定义enum Number2 {Zero = 0.0,One = 1.0,Two = 2.0,}fn m

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目