Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android org.json.JSONObject vs Gson库JSONObject_Android_Json_Gson_Android Json - Fatal编程技术网

Android org.json.JSONObject vs Gson库JSONObject

Android org.json.JSONObject vs Gson库JSONObject,android,json,gson,android-json,Android,Json,Gson,Android Json,这两门课有什么不同 如果有人使用Gson库,是否最好使用com.google.json.JsonObject而不是org.json.JsonObject 有人能列出这两种选择的优缺点吗?市场上有很多JSON实现,而且大多数都是开源的。每种方法都有各自的优缺点 谷歌GSON 杰克逊 org.json等 谷歌GSON官方文件 提供简单的toJson()和fromJson()方法,将Java对象转换为JSON,反之亦然 允许预先存在的不可修改对象与JSON进行转换 对Java泛型的广泛支持 允许

这两门课有什么不同

如果有人使用Gson库,是否最好使用
com.google.json.JsonObject
而不是
org.json.JsonObject


有人能列出这两种选择的优缺点吗?

市场上有很多JSON实现,而且大多数都是开源的。每种方法都有各自的优缺点

  • 谷歌GSON
  • 杰克逊
  • org.json等
谷歌GSON官方文件

  • 提供简单的toJson()和fromJson()方法,将Java对象转换为JSON,反之亦然
  • 允许预先存在的不可修改对象与JSON进行转换
  • 对Java泛型的广泛支持
  • 允许对象的自定义表达
  • 支持任意复杂对象(具有深层继承层次结构和泛型类型的广泛使用)
杰克逊官方文件

  • 流式API或增量解析/生成:作为离散事件读取和写入JSON内容
  • 树模型:提供JSON文档的可变内存中树表示
  • 数据绑定:将JSON转换为POJO的
一些比较博客点击这里

我个人使用GSON、Jackson和simplejson做了序列化和反序列化的基准测试

  • 非常小的对象:Google gson的执行速度比Jackson和Simple JSON快
  • 大型对象:Google gson的执行速度比Jackson和Simple JSON快

以下是主要区别:

1) GSON可以使用对象定义直接创建所需类型的对象。JSONObject需要手动解析

2) json是一个简单的树型API。它最大的缺点是需要将整个JSON文档加载到字符串中,然后才能对其进行解析。对于大型JSON文档,这可能效率低下

3) 到目前为止,org.json实现的最大弱点是JSONException。在所有JSON内容周围放置一个try/catch块是不方便的

4) Gson是在Android上进行JSON解析的最佳API。它有一个非常小的二进制大小(低于200kib),进行快速数据绑定,并且有一个简单易用的API


5) GSON和Jackson是java世界中管理JSON数据最流行的解决方案。

因此,Google GSON在大小对象的性能方面是一个卓越的库?对不起,什么是“简单JSON”?嘿@GrabNewTech!看起来你在这里的基准结论中输入了一个错误。。。afaik GSON在争夺大文件的竞争中失败了,jackson赢得的200KiB对于JSON解析器来说根本不算小。在这方面,org.json目前的最新版本是65KiB,相当小。