你的问题是
jsonObject.addProperty("ap", ap.toString());您正在添加一个属性,它是Java中的
String表示形式
Set。它与JSON无关(即使格式看起来相同)。
您将必须将其转换
Set为
JsonElement(
JsonArray确实,但您不会看到)。
在
Gson某处创建对象
Gson gson = new Gson();
并将其用于将
Set元素转换为
JsonElement对象并将其添加到中
JsonObject。
jsonObject.add("ap", gson.toJsonTree(ap));jsonObject.add("bp", gson.toJsonTree(bp));Gson有其约定,它将a转换
Set为a
JsonArray,它是的子类型,
JsonElement因此可以使用添加它
JsonObject#add(String,JsonElement)。



