在反序列化期间,让Gson创建空列表而不是空值

时间:2015-09-19 06:24:19

标签: java gson

我希望gson反序列化像

这样的JSON数组
{
    "list" : []
}

model.list为空List而不是null的Java对象。

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

1 个答案:

答案 0 :(得分:1)

我正在使用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=[])