当前位置: 首页 > news >正文

Java中使用Gson操作json数据

Java中使用Gson操作json数据

引入依赖

     <dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.9.0</version></dependency>

Gson工具类

package cn.test.util;import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.List;/*** Gson工具类*/
public class GsonTool {/*** 使用gson需要先引入依赖**  <dependency>*             <groupId>com.google.code.gson</groupId>*             <artifactId>gson</artifactId>*             <version>2.9.0</version>*         </dependency>*/private static Gson gson = null;static {gson= new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();}/*** Object 转成 json** @param src  java obj* @return String*/public static String toJson(Object src) {return gson.toJson(src);}/*** json 转成 特定的cls的Object** @param json  String* @param classOfT    java class* @return  java obj*/public static <T> T fromJson(String json, Class<T> classOfT) {return gson.fromJson(json, classOfT);}/*** json 转成 特定的 rawClass<classOfT> 的Object** @param json String* @param classOfT  java class* @param argClassOfT  sub java class* @return java obj*/public static <T> T fromJson(String json, Class<T> classOfT, Class argClassOfT) {Type type = new ParameterizedType4ReturnT(classOfT, new Class[]{argClassOfT});return gson.fromJson(json, type);}public static class ParameterizedType4ReturnT implements ParameterizedType {private final Class raw;private final Type[] args;public ParameterizedType4ReturnT(Class raw, Type[] args) {this.raw = raw;this.args = args != null ? args : new Type[0];}@Overridepublic Type[] getActualTypeArguments() {return args;}@Overridepublic Type getRawType() {return raw;}@Overridepublic Type getOwnerType() {return null;}}/*** json 转成 特定的cls的list** @param json String* @param classOfT java class* @return java list obj*/public static <T> List<T> fromJsonList(String json, Class<T> classOfT) {return gson.fromJson(json,new TypeToken<List<T>>() {}.getType());}}

相关文章:

Java中使用Gson操作json数据

Java中使用Gson操作json数据 引入依赖 <dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.9.0</version></dependency>Gson工具类 package cn.test.util;import com.google.gso…...

Verilog语法学习——LV10_使用函数实现数据大小端转换

LV10_使用函数实现数据大小端转换 题目来源于牛客网 [牛客网在线编程_Verilog篇_Verilog快速入门 (nowcoder.com)](https://www.nowcoder.com/exam/oj?page1&tabVerilog篇&topicId301) 题目 描述 在数字芯片设计中&#xff0c;经常把实现特定功能的模块编写成函数&…...

Leetcode-每日一题【剑指 Offer II 009. 乘积小于 K 的子数组】

题目 给定一个正整数数组 nums和整数 k &#xff0c;请找出该数组内乘积小于 k 的连续的子数组的个数。 示例 1: 输入: nums [10,5,2,6], k 100输出: 8解释: 8 个乘积小于 100 的子数组分别为: [10], [5], [2], [6], [10,5], [5,2], [2,6], [5,2,6]。 需要注意的是 [10,5,2]…...

html/javascript-表格的创建和使用

html中表格的创建和使用 一 摘要二 使用html table标签创建表格&#xff08;在html文件中&#xff09;三 使用javascript创建表格&#xff08;在js文件中&#xff09;四 表格属性的设置&#xff1a;4.1. 右边框的设置&#xff1a;4.2. 只给表格单元格加右边框4.3. 动态设置右边…...

[点微]同城原生微信小程序 小程序原生版 1.0.7(tom_xiaofenlei)

注意!!!这是点微后出的原生版小程序!!! 依赖点微同城分类主插件、点微同城小程序后端插件!!! 【以下为模块路径】 同城首页 pages/index/index 个人中心 pages/index/my 好店首页 pages/module/tcshop 商城首页 pages/module/tcmall 抢购首页 pages/module/tcqianggou…...

JDBC Some Templates

JDBCTemplate 是Spring对JDBC的封装&#xff0c;使用JDBCTemplate方便实现对数据的操作。 <!-- orm:Object relationship mapping m对象 关系 映射-->引入依赖 <!-- 基于Maven依赖的传递性&#xff0c;导入spring-content依赖即可导入当前所需的所有…...

dubbo启动指定ip不使用docker虚拟网络ip

java -D 配置系统属性 # 启动时加参数 -DDUBBO_IP_TO_REGISTRY 192.168.1.1 该ip为dubbo所在服务器的公网ip即可。 java -jar myDubboRpc-api.jar -DDUBBO_IP_TO_REGISTRY 192.168.1.1 # xjar启动 nohup ./xjar java -DDUBBO_IP_TO_REGISTRY11.22.33.44 -XX:UseG1GC -jar …...

Bobo String Construction

登录—专业IT笔试面试备考平台_牛客网 题目大意&#xff1a;给出一字符串t&#xff0c;求一个长为n的字符串&#xff0c;使tst中包含且仅包含两个t 1<n<1000;测试样例组数<1000 思路&#xff1a;一开始很容易想到如果t里有1&#xff0c;s就全0&#xff0c;否则s就全…...

基于java在线个人网站源码设计与实现

摘 要 随着社会及个人社交应用平台的飞速发展&#xff0c;人们的沟通成本逐渐降低&#xff0c;互联网信息的普及也进一步提升了人们对于信息的需求度&#xff0c;通过建立个人网站的方式来展示自己的生活信息同时利用平台结交新的朋友&#xff0c;借助个人网站平台的搭建不仅可…...

Ubuntu18.04下编译qgc源码

写在前面 在下载前必须说明&#xff0c;根据你的qgc源码版本进行下载&#xff0c;有的源码必须要求Qt是5.15版本以上。 个人所使用开发软件 版本QT5.12.9qgc源码V4.0Ubuntu18.04 QT下载 &#xff08;1&#xff09;我们可以去官网下载官网下载地址具体的下载方法这里不用多说&a…...

Ros2_windows_install的学习笔记

Ros2_windows_install安装 Iron安装 iex ((New-Object System.Net.WebClient).DownloadString(https://raw.githubusercontent.com/scottcandy34/ros2_windows_install/main/ros2_iron.ps1))启动Iron C:\dev\ros2_iron\local_setup.bat...

5、Kubernetes核心技术 - Controller控制器工作负载

目录 一、Deployments - 控制器应用 二、Deployment升级回滚和弹性收缩 2.1、创建一个 1.14 版本的 pod 2.2、应用升级 2.3、查看升级状态 2.4、查看历史版本 2.5、应用回滚 2.6、弹性伸缩 三、StatefulSet - 有状态应用 四、DaemonSet - 守护进程 五、Job - 单次任…...

【java设计模式】创建型模式介绍(工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式)

文章目录 简介一、工厂模式介绍案例 二、抽象工厂模式介绍案例 三、单例模式介绍案例 四、建造者模式介绍案例 五、原型模式介绍案例 简介 本文介绍Java设计模式中创建型模式的五种 一、工厂模式 工厂模式&#xff08;Factory Pattern&#xff09;是 Java 中最常用的设计模式…...

Redis系列:Redis 的事务机制

1 复习下何为事务机制&#xff1f; Transaction&#xff08;事务&#xff09;是计算机的特有术语&#xff0c;它一般指单个逻辑工作单位&#xff0c;由一系列的操作组合而成&#xff0c;在这些操作执行的时候&#xff0c;要么都执行成功&#xff0c;要么都不执行&#xff0c;防…...

动静态网页、Django创建表关系、Django框架的请求生命周期流程图

一、request对象的几个方法 在视图函数中写方法的时候&#xff0c;都会有一个形参requestdef index(request):passrequest.method # GET POST request.GET.get() # 它获取最后一个元素值 request.GET.getlist() # 获取到所有的request.POST.get() # 它获取最后一个元素值 req…...

神经网络的初始化方法

文章目录 1、随机初始化2、Xavier初始化3、He初始化4、权重预训练初始化5、零初始化 对于神经网络的训练过程中&#xff0c;合适的参数初始化方法有助于更好的处理梯度消失和梯度爆炸问题。通常有以下几种初始化方法&#xff1a; 1、随机初始化 随机初始化&#xff08;Random…...

【SQL Server】DBCC CHECKDB只是一个数据库维护命令吗?

日期&#xff1a;2023年7月27日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对的地方&#xf…...

三、Web安全相关知识

请勿用于非法用途 文章目录 一、Web源码框架二、目录结构1、静态资源2、WEB-INF&#xff08;1&#xff09;classes&#xff08;2&#xff09;lib&#xff08;3&#xff09;web.xml 二、web脚本语言1、脚本种类&#xff08;1&#xff09;ASP&#xff08;2&#xff09;ASP.NET&am…...

Android系统服务之AMS

目录 概述 重点和难点问题 启动方式 main入口&#xff1a; run方法&#xff1a; BootstrapSevices 小结&#xff1a; 与其他线程的通信原理 参考文档&#xff1a; 概述 AMS是Android系统主要负责四大组件的启动&#xff0c;切换&#xff0c;调度以及应用程序进程管理和调度等工…...

Unity UGUI的EventTrigger (事件监听器)组件的介绍及使用

Unity UGUI的EventTrigger (事件监听器)组件的介绍及使用 1. 什么是EventTrigger组件&#xff1f; EventTrigger是Unity UGUI中的一个组件&#xff0c;用于监听和响应UI元素的各种事件&#xff0c;例如点击、拖拽、进入、离开等。通过EventTrigger组件&#xff0c;我们可以方…...

# 发散创新:基于事件驱动架构的实时日志监控系统设计与实现在现代分布式系统中,**事件驱动编程模型

发散创新&#xff1a;基于事件驱动架构的实时日志监控系统设计与实现 在现代分布式系统中&#xff0c;事件驱动编程模型正逐渐成为构建高可扩展、高性能应用的核心范式。相比传统的轮询或阻塞式处理方式&#xff0c;事件驱动能够显著降低资源消耗并提升响应效率。本文将深入探讨…...

如何免费解锁网盘高速下载:网盘直链下载助手终极指南

如何免费解锁网盘高速下载&#xff1a;网盘直链下载助手终极指南 【免费下载链接】baiduyun 油猴脚本 - 一个免费开源的网盘下载助手 项目地址: https://gitcode.com/gh_mirrors/ba/baiduyun 你是否曾经因为网盘下载速度慢如蜗牛而烦恼&#xff1f;是否在办公环境中无法…...

旧设备重生:如何让经典iOS设备突破系统限制重获新生?

旧设备重生&#xff1a;如何让经典iOS设备突破系统限制重获新生&#xff1f; 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to downgrade/restore, save SHSH blobs, and jailbreak legacy iOS devices 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit …...

StructBERT中文相似度模型GPU算力适配:显存占用峰值218MB,预留缓冲空间充足

StructBERT中文相似度模型GPU算力适配&#xff1a;显存占用峰值218MB&#xff0c;预留缓冲空间充足 1. 项目概述 StructBERT中文相似度计算工具是一个基于百度先进大模型技术的高精度语义匹配系统。这个工具能够智能分析两个中文句子之间的语义相似程度&#xff0c;为各类文本…...

构建边缘AI小语言模型

大型语言模型&#xff08;LLM&#xff09;在任何场合、任何设备上都可访问。 但拥有数千亿参数的LLM对于低延迟应用来说过于昂贵&#xff0c;而普通的SLM在保真度和一致性响应方面往往表现不佳。 为应对这一挑战&#xff0c;我将调优一个紧凑的Llama 3.2–3B模型&#xff0c;…...

Comsol模拟混凝土中水分传递 低气压下水分转移引起的水泥浆龄期微观结构变化 低气压(AP)...

Comsol模拟混凝土中水分传递 低气压下水分转移引起的水泥浆龄期微观结构变化 低气压&#xff08;AP&#xff09;会影响混凝土中的水分传递&#xff0c;进而影响其微观结构和体积特性&#xff0c;但对其热力学机制却知之甚少 可文献复现 水泥基材料内部的水分运动会直接改变孔隙…...

MinerU智能文档理解服务新手教程:5分钟搭建PDF解析系统

MinerU智能文档理解服务新手教程&#xff1a;5分钟搭建PDF解析系统 1. 引言&#xff1a;文档智能解析的实用价值 每天我们都会遇到各种PDF文档——合同、报告、论文、发票&#xff0c;手动提取内容不仅耗时还容易出错。MinerU智能文档理解服务正是为解决这个问题而设计&#…...

Thumb-2指令集在Cortex-M3上的5个高效编程技巧(附真实项目代码)

Thumb-2指令集在Cortex-M3上的5个高效编程技巧&#xff08;附真实项目代码&#xff09; 在嵌入式开发领域&#xff0c;Cortex-M3处理器凭借其出色的性能功耗比占据着重要地位。而Thumb-2指令集作为其核心特性之一&#xff0c;通过巧妙混合16位和32位指令&#xff0c;为开发者提…...

FigmaCN:消除语言壁垒的中文界面本地化解决方案

FigmaCN&#xff1a;消除语言壁垒的中文界面本地化解决方案 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN FigmaCN是一款专为中文设计师打造的浏览器插件&#xff0c;通过3800条人工校…...

OpenClaw多模型调度方案:GLM-4.7-Flash与本地小模型协同工作

OpenClaw多模型调度方案&#xff1a;GLM-4.7-Flash与本地小模型协同工作 1. 为什么需要多模型协同 去年冬天&#xff0c;当我第一次尝试用OpenClaw自动化处理周报时&#xff0c;发现一个尴尬的现象&#xff1a;用GLM-4.7-Flash这样的大模型处理简单表格整理&#xff0c;就像用…...