gson-序列化java pojo时包含类名->;json
如何将列表的类名附加到输出的json字符串中?我已经看过了这本书,但没有提到这一点。我正在使用我的真实代码,但也看不到任何选项gson-序列化java pojo时包含类名->;json,java,json,gson,Java,Json,Gson,如何将列表的类名附加到输出的json字符串中?我已经看过了这本书,但没有提到这一点。我正在使用我的真实代码,但也看不到任何选项 public class Person { String name; public Person(String name){ this.name = name; } public static void main(String [] args){ Person one = new Person("Alice"); Person
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);
}
}
公共类人物{
字符串名;
公众人物(字符串名称){
this.name=名称;
}
公共静态void main(字符串[]args){
第一人=新人(“爱丽丝”);
第二人=新人(“鲍勃”);
List people=new ArrayList();
增加(一);
增加(两人);
String json=new Gson(人);
}
}
这将提供以下输出:
json=[{“name”:“Alice”},{“name”:“Bob”}]
如何实现以下输出?或类似内容
json={“person”:[{“name”:“Alice”},{“name”:“Bob”}]}
或
json=[{“个人”:{“姓名”:“爱丽丝”},{“个人”:{“姓名”:“鲍勃”}]
希望这是我刚刚错过的一件小事。提前谢谢。我不知道你对答案是否感兴趣,但你可以做以下几点:
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"}]}
}
publicstaticvoidmain(字符串[]args){
第一人=新人(“爱丽丝”);
第二人=新人(“鲍勃”);
List people=new ArrayList();
增加(一);
增加(两人);
Gson Gson=新的Gson();
JsonElement je=gson.toJsonTree(人);
JsonObject jo=新的JsonObject();
jo.添加(“人”,je);
System.out.println(jo.toString());//打印{“person”:[{“name”:“Alice”},{“name”:“Bob”}]}
}
最简单的解决方案可能是创建另一个类,其中包含一些名为“person”的变量(或person类型列表)。这个问题解决的问题与所接受的答案基本相同。