使用GSON with object打印JSON对象

nhaq1z21  于 2022-11-06  发布在  其他
关注(0)|答案(2)|浏览(293)

在阅读文档后,关于GSON的一些问题。下面是我对JSON的一些看法:

  1. var json = {
  2. id: "person1",
  3. name: "person 1",
  4. data: {"email": "1@test.com"},
  5. children: [{
  6. id: "person2",
  7. name: "person 2",
  8. data: {"email": "2@test.com"},
  9. children: []
  10. },{
  11. id: "person3",
  12. name: "person 3",
  13. data: {"email": "3@test.com"},
  14. children: []
  15. }
  16. ]
  17. }

1)在Java中,我可以不使用Class对象而使用GSON吗?使用GSON和Java可以很容易地做到这一点吗?

  1. GSON gson = new GSON();
  2. gson.toJson("name", "person 1");

2)当我使用这个例子时:

  1. Gson gson = new Gson();
  2. Person p = new Contact(rs.getString("name"));
  3. gson.toJson(p);
  4. String json = gson.toString();
  5. System.out.println(json);

我的Json输出不是我所期望的。那个Person示例是一个公共类示例,只有一个属性- name(用于测试目的)。为什么我会在输出中看到Factory、serializeNulls等?
谢谢

dffbzjpn

dffbzjpn1#

替换为:

  1. gson.toJson(p);
  2. String json = gson.toString();

与此:

  1. String json = gson.toJson(p);
5fjcxozz

5fjcxozz2#

试试看:

  1. Gson gson = new GsonBuilder().setPrettyPrinting().create();
  2. String jsonStr = gson.toJson(YourObject);

相关问题