java - GSON 中 JsonArray 的整数列表

标签 java arrays json gson

现在我的代码很简单

// list is a List<Integer>

JsonArray arr = new JsonArray();
for(int i : list) {
    array.add(i);
}

我有点震惊地查看了 API,我没有找到一种更少手动、更实用的方法来执行此操作。我希望 addRangeaddArray、构造函数从 CollectionJsonArray 等。是否有一个,还是有一些基本的限制使这成为不可能?

最佳答案

如果将列表传递给 Gson#toJsonTree 方法,它会返回一个 JsonArray。

List<Integer> list = new ArrayList<>();
list.add(5);
JsonElement result = new GsonBuilder().create().toJsonTree(list);
System.out.println(result.getClass()); // prints "class com.google.gson.JsonArray"

附言

在上面的代码中,为了可读性和复制粘贴,我内联创建了 Gson 实例 (new GsonBuilder().create())。实际上,您很可能不会在每次需要转换列表时都创建一个新的 Gson 实例,而是更早地创建一次实例以供重用。

关于java - GSON 中 JsonArray 的整数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21993265/

相关文章:

java - 如何将扫描仪输入拆分为(数字)(带空格的字符串)(数字)

javascript - 两个带有对象的数组成为具有相同长度的新数组,但所有数据都来自原始数组

arrays - Swift 3 - 无法弄清楚如何从 jsonArray 创建 json 对象

javascript - PHP:响应 AJAX post 请求

java - 整数数组列表已更改java

java - 为什么我必须输入 ID (PK) - 自动生成 ID 的问题

java - 在 Hibernate 映射中将 VARCHAR 转换为整数

java - 访问二维数组Java的整个子列表

javascript - 用于匹配字符串开头和结尾的两个单引号的正则表达式

javascript - 如何循环遍历json数组以获取javascript中的值