【发布时间】:2015-05-16 13:09:40
【问题描述】:
这是我的第一篇文章。作为一名初出茅庐的 Android 开发人员,我几乎每天都会阅读关于各种主题的 SO 帖子,但对于这个问题,我没有从 Google 或 SO 那里找到任何帮助。
到目前为止我的研究:
搜索这个问题比平常更难,因为搜索引擎似乎并不关心区分大小写,这在这个问题中至关重要。搜索谷歌只给我链接到课程本身、旧文章或完全不相关的文章。我得到的最接近的是 JSONArray vs JSONObject,这是一个完全不同的问题。所以搜索给出了相同的结果。据我所知,SO 上的所有相关帖子都指的是 JSONObject 而不是 JsonObject。
Oracle 和 json.org 文档都没有提到对方,Android 开发者 JSONObject 页面也没有提到使用 org.json 库。
http://docs.oracle.com/javaee/7/api/javax/json/JsonObject.html
http://www.json.org/javadoc/org/json/JSONObject.html
我也会发布一个指向 JSONObject 的 Android 参考页面的链接,但我作为新手的代表太低了。
问题历史: 我正在从 Oracle 页面阅读有关 Json 编码和解码的信息,我尝试复制并粘贴到我的 AndriodStudio IDE 中,这立即产生了一个错误,它没有像通常那样建议导入语句。我了解到这意味着该类不是内置库的一部分。
问题是我粘贴的代码使用了 JsonObject(来自 javax.json 库)而不是 JSONObject(来自 org.json 库)。当我注意到 Android 页面和 Oracle 页面之间的大小写不同时,我将代码从 Json 更改为 JSON,然后我的 IDE 立即提供了 org.json 导入语句。
问题:
当外部库是默认库时,为什么 Oracle 制作的类不是默认库的一部分?
JSON 是旧的、已弃用的方式,而 Json 是新的、正确的方式吗?
它们在功能上是否相同?如果不是,请举例说明?
有些情况对一个人更好,而对另一个人更好?
最终,我应该使用哪个,为什么(如果尚未涵盖)?
如果,javax.json,哪里是下载该库的最佳(最安全)位置?
【问题讨论】:
-
默认库 您用于在 Android 上开发的 JDK 由 Android 提供,而不是 Oracle。
javax.json也是 Java EE 的一部分,而不是 Java SE。 -
当我从纯 Java 迁移到 Android 时,我没有下载额外的 jdk。 AndroidStudio 应用程序中是否包含备用 JDK?