创建JSON对象并将其转换为Java中的String

我需要通过httppost发送一个相当长的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结构,将其转换为String并通过http发送它。

问题是,我怎样才能轻松实现这一目标? 有用的库吗? 我知道如何发送它,但不知道如何构建它然后创建一个String。

谢谢你们。

你可以使用gson 。

您可以通过执行以下操作来创建Java对象(PO​​JO)并将其序列化为JSON:

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

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

如果您不想使用POJO路由,您仍然可以使用Gson API中的JsonElement , JsonArray , JsonObject创建JSON结构。

我喜欢原来的org.json

我认为STO有类似的讨论https://stackoverflow.com/questions/338586/a-better-java-json-library