使用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”}}]
希望这是我刚刚错过的琐碎事情。提前致谢。
我不知道答案是否仍然很有趣,但是您可以执行以下操作:
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"}]} }