【问题标题】:Creating GSON Object创建 GSON 对象
【发布时间】:2011-06-08 16:54:33
【问题描述】:

如何使用 Google Gson 创建 json 对象? 下面的代码创建一个 json 对象,看起来像 {"name":"john"}

JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("name", "john");

如何创建一个像这样的 json 对象?

{"publisher":{"name":"john"}}

【问题讨论】:

  • 你说的是Gson吗?
  • 那么改标题?

标签: java json gson


【解决方案1】:
JsonObject innerObject = new JsonObject();
innerObject.addProperty("name", "john");

JsonObject jsonObject = new JsonObject();
jsonObject.add("publisher", innerObject);

http://www.javadoc.io/doc/com.google.code.gson/gson


仅供参考:Gson 真正用于将 Java 对象转换为 JSON 或从 JSON 转换。如果这是您使用 Gson 的主要方式,我认为您没有抓住重点。

【讨论】:

  • 嗯。谢谢;不确定这是否是 SO 注释格式化程序中的一个小错误......无论如何,为了摆脱尾括号,链接是:cowtowncoder.com/blog/archives/2009/01/entry_131.html
  • 哦,好的。我认为您可以将 Gson 用于一切。感谢您的信息。
  • @Raunak:当然,你可以使用它——但就像我说的那样,你没有抓住重点。从 Java 对象开始。
  • 我见过太多一次性 Java 对象,它们只是用于通过 Jersey 或 Gson 为一种方法创建 JSON 的包装器。而且 Gson 没有 json.org 丑。
【解决方案2】:

想出了如何使用 Java 对象正确地做到这一点。

Creator creator = new Creator("John");
new Gson().toJson(creator);

Creator java 类的实现。

public class Creator {

    protected String name;

    protected HashMap<String, String> publisher = new HashMap<String, String>();

    public Creator(String name){
            publisher.put("name", name);
    }
}

【讨论】:

  • 只是为了增加一些灵活性,我建议使用 Map 接口而不是直接使用 HashMap 实现。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多