【问题标题】: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.JSONObjectjavax.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 来解析它。

    【讨论】:

      猜你喜欢
      • 2018-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-05
      相关资源
      最近更新 更多