java - 让 Gson 在反序列化期间创建空列表而不是 null

标签 java gson

我希望 gson 反序列化 JSON 数组,例如

{
    "list" : []
}

到一个 Java 对象,其中 model.list 是一个空的 List 而不是 null

我应该将什么传递给 GsonBuilder 以获得我想要的反序列化行为。

最佳答案

我使用的是 Gson 2.3.1,默认行为正常

import com.google.gson.Gson;
import lombok.ToString;

import java.util.List;

public class GsonTest {
    public static void main(String[] args) {
        String json = "{\"list\":[]}";
        Gson g = new Gson();
        Pojo pojo = g.fromJson(json, Pojo.class);
        System.out.println(pojo.list.size());
        System.out.println(pojo);
    }
}

@ToString
class Pojo {
    List<Object> list;
}

我得到了

0
Pojo(list=[])

关于java - 让 Gson 在反序列化期间创建空列表而不是 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32665002/

相关文章:

java - 与 Oracle 连接的 Netbeans java.lang.ClassNotFoundException

java - GSON解析多个相同类型的key

arrays - GSON 阵列,错误消息 : Expected a string but was BEGIN_ARRAY

java - 构造函数未定义

java - java -cp 选项中的 "build:"是什么意思?

java - TreeMap.containsKey() 中的 Werid ClassCastException

android - 如何使用 Retrofit/Gson 反序列化 JSON 中相同类型但字段名称不同的对象列表?

java - Gson:要列出的索引对象

java - 注释未在带有 cucumber-jvm 的 SharedDriver 中触发

Java toString() 打印问题