将多个 JSONArray 添加到 JSONArray

  • 本文关键字:JSONArray 添加 java
  • 更新时间 :
  • 英文 :


我正在寻找一个选项,将多个值添加到一个JSONArray中,并将其添加到另一个JSONArray中,而无需创建多个变量。例如:

    JSONArray array1 = new JSONArray();
    JSONArray array2 = new JSONArray();
    array2.add("ex1");
    array2.add("ex2");
    array2.add("ex3");
    array1.add(array2);

变成这样的东西:

    JSONArray array1 = new JSONArray();
    array1.add(new JSONArray().addAll(Arrays.asList("ex1","ex2","ex3")));
    array1.add(new JSONArray().addAll(Arrays.asList("ex4","ex5","ex6")));

有没有办法做到这一点?谢谢大家

可以使用 gson 来完成:

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.2</version>
</dependency>

下面是一个正在运行的代码:

package com.test;
import java.util.Arrays;
import java.util.List;
import com.google.gson.JsonArray;
public class JArray {
    public static void main(String[] args) {
        JsonArray array1 = new JsonArray();
        array1.addAll(getJsonArrayFromList(Arrays.asList("ex1", "ex2", "ex3")));
        array1.addAll(getJsonArrayFromList(Arrays.asList("ex4", "ex5", "ex6")));
        System.out.println("array1 = " + array1);
    }
    public static JsonArray getJsonArrayFromList(List<String> list) {
        JsonArray array = new JsonArray();
        for (String s : list) {
            array.add(s);
        }
        return array;
    }
}

输出:

array1 = ["ex1","ex2","ex3","ex4","ex5","ex6"]

最新更新