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

Gson(List<Object>转String 、String转List<Object>)

要在Java项目中使用Gson库,你需要添加相应的依赖项。以下是在Maven项目的pom.xml文件中添加Gson依赖的示例:

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

这样,你就可以在Java项目中使用Gson库来处理JSON数据了。Gson是一个功能强大的JSON解析器,它可以帮助你轻松地将Java对象与JSON格式之间进行转换。

**

1、List转String

**
在Java中,可以使用Gson库将List转换为String。首先,确保你已经添加了Gson库的依赖。然后,使用Gson对象的toJson()方法将列表转换为JSON字符串。

import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;public class Main {public static void main(String[] args) {// 创建一个包含不同类型对象的列表List<Object> myList = new ArrayList<>();myList.add(1);myList.add("hello");myList.add(true);// 创建Gson对象Gson gson = new Gson();// 将列表转换为JSON字符串String jsonString = gson.toJson(myList);// 打印结果System.out.println(jsonString);}
}

上述代码中,我们创建了一个包含整数、字符串和布尔值的列表。然后,使用Gson对象的toJson()方法将其转换为JSON字符串。最后,打印输出结果。

请注意,Gson库默认会将列表转换为JSON数组形式。如果你希望将列表转换为其他格式的字符串,可以根据需要对Gson进行配置。
**

2、String转List

**
使用Gson对象的fromJson()方法将字符串解析为对象列表。以下是一个示例代码片段:

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;public class Main {public static void main(String[] args) {// 创建一个包含不同类型对象的JSON字符串String jsonString = "[1, \"hello\", true]";// 创建Gson对象Gson gson = new Gson();// 定义要转换的目标类型Type listType = new TypeToken<ArrayList<Object>>(){}.getType();// 将JSON字符串解析为对象列表List<Object> myList = gson.fromJson(jsonString, listType);// 打印结果System.out.println(myList);}
}

上述代码中,我们创建了一个包含整数、字符串和布尔值的JSON字符串。然后,使用Gson对象的fromJson()方法将其解析为对象列表。为了指定目标类型,我们使用了Gson提供的TypeToken类来获取泛型类型的Type对象。最后,打印输出结果。

请注意,由于JSON字符串中的值可以是不同类型的,因此返回的对象列表中的元素将是Object类型。如果需要将元素转换为特定类型,可以在解析后进行类型转换操作。

http://www.lryc.cn/news/312838.html

相关文章:

  • uniapp路由跳转的方式
  • 使用Python模拟绘制自由落体运动过程中的抛物线
  • 批量爬取网站图片脚本
  • scrapy 爬虫:多线程爬取去微博热搜排行榜数据信息,进入详情页面拿取第一条微博信息,保存到本地text文件、保存到excel
  • 网络、UDP编程
  • VSCode安装与使用
  • 进程和线程的区别与联系
  • 6、Redis-KV设计、全局命令和安全性
  • python之海龟绘图
  • Java实战:Spring Boot 实现异步记录复杂日志
  • “色狼”用英语怎么说?柯桥日常英语,成人英语口语学习
  • Docker前后端项目部署
  • 如何快速的搭建一个小程序
  • STM32自学☞AD多通道
  • 微服务之商城系统
  • 安卓玩机工具推荐----高通芯片9008端口读写分区 备份分区 恢复分区 制作线刷包 工具操作解析
  • 全量知识系统问题及SmartChat给出的答复 之16 币圈生态链和行为模式
  • 【MOMO_Tips】批量将word转换为PDF格式
  • 【JSON2WEB】08 Amis的事件和校验
  • 抖店类目报白什么意思?什么类目需要报白?这次给你讲明白!
  • <C++>【继承篇】
  • size_t 和double相乘怎么转换size_t
  • C# 的一些好用的语法糖介绍
  • 驱动开发面试复习
  • 监测数据计算与换算:确保工程安全的关键步骤
  • Vue项目实战--空间论坛(1)
  • linux内核驱动——字符设备实现两个终端单向收发
  • 读取CSV数据并写入MySQL
  • centos7.4下升级最新的ssh
  • Java实现的双向链表示例