【问题标题】:Create JSON object and convert it to String in Java创建 JSON 对象并将其转换为 Java 中的字符串
【发布时间】:2011-08-06 20:03:54
【问题描述】:

我需要通过 http 帖子发送一个很长的 JSON 标头。在 Python 中是这样的:

    self.body_header = {
                "client": self.client_name,
                "clientRevision": self.client_version,
                "uuid": str(uuid.uuid4()),
                "session": self.get_sessionid()}

    self.body = {
                "header": self.body_header,
                "country": {"IPR":"1021", "ID":"223", "CC1":"0", "CC2":"0", "CC3":"0", "CC4":"2147483648"},
                "privacy": 1}

我需要在 Java 中做一些类似的事情,即以某种方式创建一个 JSON 结构,将其转换为字符串并通过 http 发送。

问题是,我怎样才能轻松做到这一点?有什么有用的库吗?我知道如何发送它,但不知道如何构建它然后创建一个字符串。

谢谢大家。

【问题讨论】:

    标签: java string json http


    【解决方案1】:

    您可以使用gson

    您可以创建一个 Java 对象 (POJO) 并将其序列化为 JSON:

    Gson gson = new Gson();
    String json = gson.toJson(yourObject);
    

    然后您可以通过 HTTP 发送字符串。

    如果你不想走 POJO 路线,你仍然可以在 Gson API 中使用JsonElementJsonArrayJsonObject 创建 JSON 结构。

    【讨论】:

    • 如果您不想创建 POJO,您也可以只创建一个映射并将其序列化。其次,我在一个项目中使用了gson,发现jackson在我的真实案例中的表现要好得多,但我是用它从JSON转到java而不是你要走的方向。
    【解决方案2】:

    我喜欢原来的org.json

    【讨论】:

    • 链接还不能正常工作,也没有提供描述和实现。
    【解决方案3】:

    【讨论】:

      猜你喜欢
      • 2021-09-18
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 2017-03-24
      • 2015-10-07
      • 2010-11-26
      相关资源
      最近更新 更多