如何使用 Java 中的 Gson 将 Java 数组或 ArrayList 转换为 JsonArray?
javajsonobject oriented programmingprogramming更新于 2025/7/24 5:00:17
Java Arrays 是存储多个 相同类型 变量的对象,它包含原始类型和对象引用,ArrayList 可以表示可调整大小的对象列表。我们可以使用该列表添加、删除、查找、排序和替换元素。JsonArray 可以从字符串解析文本以生成类似 vector 的对象。我们可以使用 Gson 类的 toJsonTree().getAsJsonArray() 方法将数组或 ArrayList 转换为 JsonArray。
语法
public JsonElement toJsonTree(java.lang.Object src)
示例
import com.google.gson.*;
import java.util.*;
public class JavaArrayToJsonArrayTest {
public static void main(String args[]) {
String[][] strArray = {{"elem1-1", <elem1-2"}, {"elem2-1", <elem2-2"}};
ArrayList<ArrayList<String>> arrayList = new ArrayList<>();
for(int i = 0; i < strArray.length; i++) {
ArrayList<String> nextElement = new ArrayList<>();
for(int j = 0; j < strArray[i].length; j++) {
nextElement.add(strArray[i][j] + "-B");
}
arrayList.add(nextElement);
}
JsonObject jsonObj = new JsonObject();
// 数组到 JsonArray
JsonArray jsonArray1 = new Gson().toJsonTree(strArray).getAsJsonArray();
// ArrayList 到 JsonArray
JsonArray jsonArray2 = new Gson().toJsonTree(arrayList).getAsJsonArray();
jsonObj.add("jsonArray1", jsonArray1);
jsonObj.add("jsonArray2", jsonArray2);
System.out.println(jsonObj.toString());
}
}
输出
{"jsonArray1":[["elem1-1","elem1-2"],["elem2-1","elem2-2"]],"jsonArray2":[["elem1-1-B","elem1-2-B"],["elem2-1-B","elem2-2-B"]]}
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

