【问题标题】:org.json.JSONObject vs. javax.json.JsonObject?org.json.JSONObject 与 javax.json.JsonObject?
【发布时间】:2015-02-23 22:23:39
【问题描述】:
两者之间的显着差异是什么:
org.json.JSONObject 和 javax.json.JsonObject?
最重要的是,它们可以从客户端到 Web 服务互换吗?
IE。我可以将 JSONObject 发送到 Webservice 并让 Webservice 相信类型是 JsonObject(反之亦然)?
(在 ACRA 的 json-20080701.jar 中找到 JSONObject)
(在 C:\glassfish4\glassfish\modules\javax.json.jar 中找到 JsonObject)
【问题讨论】:
标签:
json
web-services
glassfish-4
acra
【解决方案1】:
org.json.JSONObject 和
javax.json.JsonObject?
-
javax.json.JsonObject 包含在 Java EE 7 中
-
javax.json.JsonObject 是不可变的
-
org.json.JSONObject 有更多方便的方法
最重要的是,它们可以从客户端到 Web 服务互换吗?
IE。我可以将 JSONObject 发送到 Webservice 并拥有 Webservice
相信类型是 JsonObject(反之亦然)?
当然这应该有效。传输到 Web 服务的不是类实例,而是从类实例生成的 JSON 数据。另一方面,可以将 JSON 数据解析回任何类型的对象。
例子:
如果你有一个名为 Person 的简单类:
public class Person {
private String name = "Hans";
private int age = 26;
}
这可以转换为类似于:{"name":"Hans", "age":25}
生成的 JSON 字符串被发送到 web 服务。
现在,在您的应用程序的另一端,或在任何其他应用程序中,如果您有适当的解析器,则可以将此 JSON 字符串解析为任何类。你甚至不需要 Java 来解析它。