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

时间:2015-02-23 22:23:40

标签: json web-services glassfish-4 acra

以下之间存在显着差异:

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

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

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

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

1 个答案:

答案 0 :(得分:6)

  

org.json.JSONObjectjavax.json.JsonObject之间存在显着差异   javax.json.JsonObject

  • javax.json.JsonObject包含在Java EE 7
  • org.json.JSONObject是不可变的
  • public class Person { private String name = "Hans"; private int age = 26; } 有更多便利方法
  

最重要的是它们可以从客户端到Webservice互换吗?   即。我可以将JSONObject发送到Webservice并拥有Webservice   相信类型是JsonObject(反之亦然)?

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

示例:

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

{"name":"Hans", "age":25}

这可以转换为JSON,类似于:{{1}}

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

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