手机网站的价值,做外贸网站功能,wordpress手机版刷新,查询网站旗下域名概述
Java中并没有内置的 JSON 解析#xff0c;需要使用第三方类库
fastJson #xff1a;阿里巴巴的JSON 库#xff0c;优势在于解析速度快#xff0c;解析效率高#xff0c;可以轻松处理大量的 JSON 数据JackSon #xff1a; 社区十分活跃#xff0c;spring框架默认使…概述
Java中并没有内置的 JSON 解析需要使用第三方类库
fastJson 阿里巴巴的JSON 库优势在于解析速度快解析效率高可以轻松处理大量的 JSON 数据JackSon 社区十分活跃spring框架默认使用jackson** Jackson 则更加全面支持多种数据格式拥有丰富的序列化和反序列化特性例如格式化输出、自定义序列化和反序列化等**Gson 谷歌开发的JSON 库
在功能特性支持、稳定性、可扩展性、易用性以及社区活跃度上 jackson 和 gson 差不多
如果对解析速度有更高要求那么 Fastjson 可能是一个不错的选择如果需要更全面的特性支持那么 Jackson 可能是更好的选择。
上面的几种json库用法差不多下面就不做具体的使用只说明几者所使用的的pom依赖如果想要知道具体的用法可以单独谷歌或百度
com.alibaba.fastjson.JsonObject
依赖 dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.58/version
/dependencyorg.json.JSONObject
依赖 dependencygroupIdorg.json/groupIdartifactIdjson/artifactIdversion20180130/version/dependencyGson
依赖 dependencygroupIdcom.google.code.gson/groupIdartifactIdgson/artifactIdversion2.3.1/version/dependencyJSONObject 和 JsonObject 的区别
包不同
JSONObject是属于 org.json.JSONOBject包而 JsonObject 属于 com.google.gson.JsonObject包
保存方式不同
JSONObject用HashMap保存键值对 JsonObject用 LInkedTreeMap 保存键值对。
对空值处理方式不同
JSONObject: 添加 value 为null这个键值对会被删掉 JsonObject: 添加 value 为null, 可以正常添加
JSONObject会获取不到这个键值对但是 JsonObject则会获取到 null的数据。
toString结果不同
JSONObject是用HashMap来保存数据的所以对它toString的时候可能出现顺序和保存顺序不一致的情况
如果要把内容作为数据校验的话可能不行比如用md5计算可能会出现每次的校验值都不同