使用哪一个?JSONObject from org.json VS JsonObject from javax.json
这是我的第一篇文章。作为一名崭露头角的Android开发人员,我几乎每天都在阅读有关各种主题的SO帖子,但对于这个问题,我没有从Google或SO找到任何帮助。
到目前为止,我的研究:
搜索这个问题比平时更难,因为搜索引擎似乎并不关心区分大小写,这在这个问题上至关重要。搜索Google只给了我类本身,旧文章或完全不相关的文章的链接。我得到的最接近的是JSONArray与JSONObject,这是一个完全不同的问题。因此,搜索给出了相同的结果。据我所知,SO上的所有相关帖子都是指JSONObject而不是JsonObject。
Oracle和 json.org 文档都没有提到另一面,使用org.json库的Android开发人员JSONObject页面也没有提到。
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,并立即提供org.json import语句。
问题:为什么Oracle制作的类不是默认库的一部分,而外部库是默认库的一部分?
JSON是旧的,已弃用的方式,而Json是新的,正确的方式吗?
它们在功能上是否相同?如果没有,请提供例子?
有些情况对一个更好,而另一个情况更好吗?
最终,我应该使用哪个,为什么(如果尚未涵盖)?
如果,javax.json,哪里是下载该库的最佳(最安全)位置)?