org.json.JSONObject与javax.json.JsonObject?

JDO*_*own 6 json web-services acra glassfish-4

有什么重大区别:

org.json.JSONObject和javax.json.JsonObject?

最重要的是它们可以从客户端转换为Webservice吗?即.我可以将JSONObject发送到Webservice并让Web服务认为类型是JsonObject(反之亦然)?

(在ACRA的json-20080701.jar中找到JSONObject)

(在C:\ glassfish4\glassfish\modules\javax.json.jar中找到JsonObject)

unw*_*ich 6

org.json.JSONObject和 之间有什么重大差异 javax.json.JsonObject

  • javax.json.JsonObject 包含在Java EE 7中
  • javax.json.JsonObject 是不可改变的
  • org.json.JSONObject 有更多的便利方法

最重要的是它们可以从客户端转换为Webservice吗?即.我可以将JSONObject发送到Webservice并让Web服务认为类型是JsonObject(反之亦然)?

当然这应该有效.它不是传递给webservice的类实例,而是从类实例生成的JSON数据.另一方面,JSON数据可以被解析回任何类型的对象.

例:

如果你有一个名为Person的简单类:

public class Person {

 private String name = "Hans";
 private int age = 26;
}
Run Code Online (Sandbox Code Playgroud)

这可以转换为JSON,类似于: {"name":"Hans", "age":25}

生成的JSON字符串将发送到Web服务.

现在,在应用程序的另一端或任何其他应用程序中,如果您有适当的解析器,则可以将此JSON字符串解析为任何类.你甚至不需要Java来解析它.