使用GSON如何将列表的类名追加到输出的json字符串中?我查看了api并错过了任何参考。我在我的实际代码中使用GsonBuilder,但也没有看到任何选项。
public class Person {
String name;
public Person(String name){
this.name = name;
}
public static void main(String [] args){
Person one = new Person("Alice");
Person two = new Person("Bob");
List<Person> people = new ArrayList<Person>();
people.add(one);
people.add(two);
String json = new Gson(people);
}
}
这给出了以下输出:
json = [{“name”:“Alice”},{“name”:“Bob”}]
如何实现以下输出?或类似的内容。
json = {“person”:[{“name”:“Alice”},{“name”:“Bob”}}}
或
json = [{“person”:{“name”:“Alice”}},{“person”:{“name”:“Bob”}}}
希望我错过了一些微不足道的事情。提前谢谢。
答案 0 :(得分:5)
我不知道答案是否仍然有趣,但您可以做的是以下内容:
public static void main(String [] args){
Person one = new Person("Alice");
Person two = new Person("Bob");
List<Person> people = new ArrayList<Person>();
people.add(one);
people.add(two);
Gson gson = new Gson();
JsonElement je = gson.toJsonTree(people);
JsonObject jo = new JsonObject();
jo.add("person", je);
System.out.println(jo.toString()); //prints {"person":[{"name": "Alice"},{"name": "Bob"}]}
}