在Java中创建JSON对象并将其转换为字符串

3

我需要通过http post发送一个相当长的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发送。问题是,我如何轻松实现这一点?有什么有用的库吗?我知道如何发送它,但不知道如何构建它,然后创建一个字符串。谢谢大家。
3个回答

3

您可以使用gson

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

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

你可以通过HTTP发送该字符串。
如果您不想使用POJO方式,仍然可以使用Gson API中的JsonElementJsonArrayJsonObject创建JSON结构。

如果您不想创建一个POJO,也可以只创建一个Map并对其进行序列化。其次,我在一个项目中使用gson并发现jackson在我的实际情况下性能更好,但我是用它从JSON转换为Java,而不是像您现在所做的方向。 - digitaljoel

1

链接还没有发挥作用,也没有提供任何描述和实现。 - Gopal00005


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接