字符串列表不能转换为 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));