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

标签 java string json http

我需要通过 http post 发送一个很长的 JSON header 。在 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 发送。

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

谢谢大家

最佳答案

您可以使用 gson .

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

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

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

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

关于java - 创建 JSON 对象并将其转换为 Java 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5685613/

相关文章:

Java 日历,获取当前月份值,需要说明

java - 如何通过java过滤文本文件并将结果保存到新文件

Python/Flask - 如何在响应中返回有效的 JSON 而不是字符串?

java - 使用 @JsonString 注释在 Google Endpoint 中生成 JSON

php - jQuery 获取 JSON 网址

java - CardLayout没有完全隐藏其他卡片?

java - 自定义主题启动时应用程序崩溃

c - 实现这种效果的代码更少?

java - 获取字符串输入,将每个单词解析为全部小写并在一行上打印每个单词,非字母字符被视为单词之间的分隔符

javascript - Javascript string.toLowerCase() 在大小写转换中是否遵循 Unicode 标准?