字符串列表无法转换为 gson.JsonElement

list of strings can not be converted to gson.JsonElement

我想在 java 中创建一个这种类型的 jsonObject:

"a": "b",
"c": {
  "d": {
    "e": [
      "f",
      "g",
      "h"
    ]
  }
}

以下是我尝试添加以列表形式给出的“e”值的代码片段:

import com.google.gson.JsonObject;
import java.util.ArrayList;
List<String> arr = new ArrayList<String>();
arr.add("f");
arr.add("g");
arr.add("h");
JsonObject arrayList = new JsonObject();
arrayList.add("e", arr);

在这部分我遇到了一个错误:

java.util.List 无法转换为 com.google.gson.JsonElement

任何解决此问题的建议将不胜感激。谢谢!

尝试以下方法

arrayList.add("e", gson.toJsonTree(arr));

这个编译和 运行 对我来说没有错误:

List<String> arr = new ArrayList<String>();
arr.add("f");
arr.add("g");
arr.add("h");
JsonObject arrayList = new JsonObject();
Gson gson = new Gson();
arrayList.add("e", gson.toJsonTree(arr));