Gson 使用总结

JSON教程之GSON基本解析(Gson-Java) https://code.google.com/p/google-gson/downloads/list https://sites.google.com/site/gson/gson-user-guide http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/index.html 阅读详情

Gson

json 解析库

添加依赖
  implementation 'com.google.code.gson:gson:2.10'

1.基础使用

1.1 解析普通对象

对象

data class Entity(var name: String)

解析方法

Gson().newBuilder().create().fromJson(jsonStr, Entity::class.java)
1.2 解析数组

解析方法

val gson = Gson()
val type: Type = object : TypeToken<ArrayList<Entity>>() {}.type
val list: List<Entity> = gson.fromJson(jsonStr, type)

2.注意事项

2.1 特殊符号

https://lh3.googleusercontent.com/a/AATXAJw3mg8MpSYGBQgENwP90OhX4IXR7HetVl9ZuBPT=s96-c
注意转json的时候特殊符号会变成unicode编码\u003d1

GsonBuilder gb =new GsonBuilder();
gb.disableHtmlEscaping();
gb.create().toJson("http://www.baidu.com/id=1");
3.封装工具类
import com.google.gson.Gson
import com.google.gson.JsonParser
import com.google.gson.reflect.TypeToken
import java.lang.reflect.Type

fun <T> String.jsonToObject(clazz: Class<T>): T {
    return Gson().newBuilder().create().fromJson(this, clazz)
}

fun <T> String.jsonToList(clazz: Class<T>): MutableList<T> {
    val gson = Gson()
    val jsonArray = JsonParser.parseString(this).asJsonArray
    val list = mutableListOf<T>()
    for (element in jsonArray) {
        list.add(gson.fromJson(element, clazz))
    }
    return list
}
4.遇到的问题

范型和list解析报错,换成了上面的 JsonParser 解析

fun <T> String.jsonToList(): List<T> {
    val gson = Gson()
    val type: Type = object : TypeToken<List<T>>() {}.type
    return gson.fromJson(this, type)
}

com.google.gson.internal.LinkedTreeMap cannot be cast to xxx
Java servlet使用GSON返回JSON 1. 首先引入GSON类库到Webapp工程 复制到WebContent/WEB 阅读详情

相关推荐

GSON JAR包 最新包和历史包 gson-2.10.1

介绍:Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. 压缩包里有以下文件: gson-2.10.1.jar gson-2.10.jar gson-2.9.1.jar gson-2.9.0.jar gson-2.8.9.jar gson-2.8.8.jar gson-2.8.7.jar gson-2.8.6.jar gson-2.8.5.jar gson-2.8.4.jar gson-2.8.3.jar gson-2.8.2.jar gson-2.8.1.jar gson-2.8.0.jar

Dependency ‘com.google.code.gson:gson:2.10.1‘ not found

Dependency 'com.google.code.gson:gson:2.10.1' not found

weixin_46028606的博客 1396

gson-2.10.1.jar中文文档.zip

1、压缩文件中包含: 中文文档、jar包下载地址、Maven依赖、Gradle依赖、源代码下载地址。 2、使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 3、特殊说明: (1)本文档为人性化翻译,精心制作,请放心使用; (2)只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; (3)不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 4、温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件。 5、本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册。

【200】Java8 调用 Gson2.10 读取 JSON 数组的六种方法。

Gson 没法像处理 JSON 对象一样处理 JSON 数组,因此本文讲解了六种方法来解决此问题。

zhangchao19890805的专栏 776

VMware Workstation Pro 17 最新破解版安装教程(附永久激活密钥)

本文详细介绍了VMware Workstation Pro 17专业版的安装与配置指南,包括系统要求检查、官方版本安装流程、高级配置优化及常见问题排查。通过合规使用官方版本,开发者可以充分利用其强大的虚拟化能力,提升多平台开发与测试效率。

weixin_29327977的博客 3550

手持式激光测距仪全套方案

激光测距全套方案,包括原理图、源代码、PCB、BOM、光学部分资料,结构、特殊元件数据手册及供应商联系方式,提供调试技术文档。全套方案已成功打板验证,实现0.05~50m测量范围,精度在+/—1.5mm,激光波长635~650nm,功率《1mW。方案预留了TTL串口、RS485接口,可通过串口助手看到测量数据,可自行DIY或者商业开发。无论是电路小白,还是技术大拿,都能通过方案资料成功做出一套激光测距仪。

Laser01的博客 2055

Gson 介绍及使用

Gson 是一个由谷歌开发的基于 Java 的简单库,用于将 Java 对象序列化为 JSON,或者将 JSON 转化为 Java 对象。它Gson库的优点使用这个库 -标准化- Gson 是由谷歌管理的标准化库。高效- 它是对 Java 标准库的可靠、快速和高效的扩展。Optimized- 该库是高度优化的。- 它为泛型提供广泛的支持。- 它支持具有深继承层次结构的复杂对象。

西凉的悲伤博客 6751

一种低照度目标检测新策略:IAT集成YOLOv8实现暗光与雾霾环境下的性能优化【附核心实战代码】

随着深度学习和计算机视觉的快速发展,目标检测模型在各个领域中的应用不断扩展,特别是在低照度环境下的视觉任务。YOLOv8作为当前最先进的目标检测模型之一,在高亮度和良好照明条件下表现出色,但在低照度环境下的性能存在一定的不足。为了解决这一问题,我们提出了一种轻量级的低照度图像增强网络(IAT)来改进YOLOv8的暗光检测能力。本篇文章将深入探讨这一创新改进,并附带代码实现,帮助大家更好地理解这一技术的应用和效果。

一键难忘的博客 3501

使用GSON解析JSON数据

GSON是谷歌提供的一个开源库,可以用来解析JSON数据 不过GSON并没有被添加到Android官方的API中,所以如果要使用这个开源库,我们就要先添加依赖,编辑app/build.gradle文件,在dependencies闭包中添加如下内容: implementation 'com.squareup.okhttp3:okhttp:4.0.1' implementation 'co...

冰之沁泠的博客 1万+

使用rknn进行facenet部署

修改facenet网络的forward函数代码。

如果想成为中心,那么就到中心去吧。 1044

Allegro如何进行四层板板层设计

板层的设计

weixin_42499230的博客 3189

Eclipse安装GSON,使用GSON转换Java Object到JSON

标题在eclipse里安装GSON创建一个对象并转换成JSON 在eclipse里安装GSON 从这里选择合适的GSON版本,下载GSON的jar文件:https://repo1.maven.org/maven2/com/google/code/gson/gson/ 保存jar文件到本地目录 选中project点击鼠标右键,选择"Build Path" -> “Configure Build Path” 选择"Java Build Path", 打开"Libraries",把jar文

weixin_42325834的博客 2039

以 DeleteRestrictions 与 inlineDelete 为核心的 Fiori Elements 表格删除机制全解

SAP Fiori elements 中删除操作的设计与实现涉及多维度考量。框架默认依据 OData 元数据判断删除能力,通过 DeleteRestrictions 注解实现行级条件控制(deletable-path)。表格支持两种删除模式:工具栏集中删除与响应式表格行内删除,但二者不建议混用。关键约束包括:行内删除仅适用于 Responsive Table,且与多选功能互斥。配置需遵循三层架构:后端能力注解、前端表格形态和运行时交互。设计上强调禁用优于隐藏的可用性原则,并需保持列表页与对象页的删除体验一致

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 153

Gson的基本使用

Gson是目前功能最强的JSON解析器,并且不需要依赖额外jar包,能够直接运行在java平台。与另一款优秀的JSON解析器FastJson相比Gson的优势是可以准确顺利的转换复杂Bean,而FastJson对一些复杂Bean的转换就会出现一些问题。所以让我们一起来学学这款神器吧! 第一步:导入依赖。 目前,Gson最新版是2.8.6,我们就用这个版本演示。在pom文件中添加Maven的Gson依赖,Gson是不依赖其它jar包的。 <dependency> <groupId&g

JamesLau的博客 5万+

【STM32实物】基于STM32设计的智能仓储管理系统

近年来,随着我国仓储发展的和药品需求的不断增多,许多医院都采用药物仓储管理系统。我国的药物仓储产业已经有了长足的发展,仓库的规模不断变大,对仓储的要求也不断增高,药物的存储,识别以及对仓储环境条件的要求成为仓储的重要决策,他们可以根据不同的特点在不同场景中使用。本文详细介绍了一个基于单片机技术的智能仓储管理系统的设计与实现,这个系统可谓是集射频识别(RFID)技术和环境监测传感器于一身,旨在提高仓储操作的自动化和精确度。

嵌入式阿齐Archie 1万+

《FreeRTOS 入门与实战》第20章:移植到 RISC-V 平台

处理器上下文保存/恢复机制中断处理与任务切换的协同时钟源配置(通常使用 Machine Timer)平台特定的汇编代码实现// 典型RISC-V移植文件结构FreeRTOS/├── Source/portable/[编译器]/RISC-V/│ ├── port.c // 关键移植接口│ ├── portASM.s // 汇编级处理│ └── portmacro.h // 架构宏定义。

2301_79143213的博客 449

Android Gson使用

1.基本使用 GSON库主要就是可以将一段JSON格式的字符串自动映射成一个对象或者一个集合,从而不需要我们再手动去编写代码进行解析了。 不过需要添加相关依赖implementation 'com.google.code.gson:gson:2.8.2' {"name":"Tom","age":20} 定义一个 Person 类,并加入 name 和 age 两字段,然后只需调用如下...

JUN_LLLL的博客 3666

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

使用GSON解析

一、简介 GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。 可以将一个Json字符串转换成一个Java对象,戒者将一个Java对象转换成Json字符串。 GSON最大的特点:(1)代码量少、简洁(2)数据传递和解析方便。 GSON的项目主页地址是:https://github.com/google/gson 注意:添加GSON库的依赖: implementation 'com.google.code.gson:gson:2.8.6' ...

indeedes的博客 3238

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

gson生成jsonobject_GSON搞定JSON数据

GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。可以将一个Json字符转成一个Java对象,或者将一个Java转化为Json字符串。特点:a、快速、高效b、代码量少、简洁c、面向对象d、数据传递和解析方便Gon介绍com.google.code.gsongson2.8.0Gson的创建方式Gson gson = new gson();通过GsonBuilde...

weixin_39890102的博客 3239

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

在IDEA中使用Gson导入包方式

IDEA版本 首先进入Project Structure 然后在右侧点击+号后选择From Maven… 再弹出的窗口的搜索框里填入com.google.code.gson然后点右边的搜索。 搜索的差不多时点击下来菜单选中GSON,再点击O...

cxchengxin的博客 7242

GSON详解

GSON GSON弥补了JSON的许多不足的地方,在实际应用中更加适用于Java开发。在这里,我们主要讲解的是利用GSON来操作java对象和json数据之间的相互转换,包括了常见的对象序列化和反序列化的知识。 一、前言 因为json有2种类型: 一种是对象,object -> {key:value,key:value,…} 。 另一种是数组,array -> [value,value,…] 。 所以针对这两种类型,来展开对json数据的操作。 GSON在解析json的时候,大体上有2种类型

qq_43842093的博客 8667

【Gson】【2】Gson使用演示

3、【原始类型演示】 (1)原始类型转换为JSON对象(序列化) Gson gson = new Gson(); gson.toJson(1); // 转换后的JSON为1 gson.toJson("abcd"); // 转换后的JSON为"abcd" gson.toJson(new Long(10)); //转换后的JSON为10 gson.toJ

z69183787的专栏 4061

Eclipse 导入Gson包

Importing GSON into Eclipse. Downloading GSON. You will need to download Gson Jar ( “gson-2.6.2.jar” ) from the maven repo. Make sure to keep a note of where you saved it. Creating a User Library for ...

To be a better man 4728

使用gson解析URL

First you need to download the URL (as text): private static String readUrl(String urlString) throws Exception { BufferedReader reader = null; try { URL url = new URL(urlString);

濯君 2165

在 Spring Service 中使用 private final Gson gson = new Gson(); 是否安全?

create();即使如此,只要配置完成后不再修改,生成的Gson实例仍然是线程安全的。

一个写了10年bug的程序员日常笔记。 704

Java中GSON的使用

1.1 GSON简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。 Gson是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。可以将一个JSON字符串转成一个Java对象(反序列化),或者反过来(序列化)。 GSON地址:google/gson (github.com) 引入GSON: implementation 'com.google.code.gson:gson:2.9

晨曦的博客 1万+
上一篇: Android 国际化
下一篇: ViewBinding
Client_Block
博客等级 码龄11年 33粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值