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类型。如果需要将元素转换为特定类型,可以在解析后进行类型转换操作。

相关推荐
呼啦啦啦啦啦啦啦啦7 小时前
常见的排序算法
java·算法·排序算法
anlogic8 小时前
Java基础 8.18
java·开发语言
练习时长一年8 小时前
AopAutoConfiguration源码阅读
java·spring boot·intellij-idea
源码宝10 小时前
【智慧工地源码】智慧工地云平台系统,涵盖安全、质量、环境、人员和设备五大管理模块,实现实时监控、智能预警和数据分析。
java·大数据·spring cloud·数据分析·源码·智慧工地·云平台
David爱编程10 小时前
面试必问!线程生命周期与状态转换详解
java·后端
LKAI.11 小时前
传统方式部署(RuoYi-Cloud)微服务
java·linux·前端·后端·微服务·node.js·ruoyi
HeyZoeHey11 小时前
Mybatis执行sql流程(一)
java·sql·mybatis
2301_7930868711 小时前
SpringCloud 07 微服务网关
java·spring cloud·微服务
柳贯一(逆流河版)12 小时前
Spring 三级缓存:破解循环依赖的底层密码
java·spring·缓存·bean的循环依赖
该用户已不存在14 小时前
OpenJDK、Temurin、GraalVM...到底该装哪个?
java·后端