最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

編程小知識(shí)【java-0011】java常用開發(fā)庫-json庫

2023-06-15 08:03 作者:退役程序員老馬  | 我要投稿

Java中并沒有內(nèi)置JSON的解析,因此使用JSON需要借助第三方類庫。

常用的 JSON 類庫:

  • FastJson: 阿里巴巴開發(fā)的 JSON 庫,性能優(yōu)秀。

  • Jackson: 社區(qū)十分活躍且更新速度很快。

  • Gson: 谷歌開發(fā)的 JSON 庫,功能十分全面。

相關(guān)源碼、文檔可前往github查看。

FastJson

Fastjson 是一個(gè) Java 庫,可以將 Java 對(duì)象轉(zhuǎn)換為 JSON 格式,當(dāng)然它也可以將 JSON 字符串轉(zhuǎn)換為 Java 對(duì)象。

優(yōu)點(diǎn):

  • 提供服務(wù)器端、安卓客戶端兩種解析工具,性能表現(xiàn)較好。

  • 提供了 toJSONString() 和 parseObject() 方法來將 Java 對(duì)象與 JSON 相互轉(zhuǎn)換。調(diào)用toJSONString方 法即可將對(duì)象轉(zhuǎn)換成 JSON 字符串,parseObject 方法則反過來將 JSON 字符串轉(zhuǎn)換成對(duì)象。

  • 允許轉(zhuǎn)換預(yù)先存在的無法修改的對(duì)象(只有class、無源代碼)。

  • Java泛型的廣泛支持。

  • 允許對(duì)象的自定義表示、允許自定義序列化類。

  • 支持任意復(fù)雜對(duì)象(具有深厚的繼承層次和廣泛使用的泛型類型)。

缺點(diǎn):

  • FastJson 源碼質(zhì)量較低

  • FastJson Bug、漏洞較多

  • FastJson 犧牲多數(shù)場(chǎng)景下的穩(wěn)定性而提高的效率

ps:fastjson2在2022年發(fā)布了,它是fastjson的重要升級(jí),目標(biāo)是為下一個(gè)十年提供一個(gè)高性能的JSON庫, fastjson2性能相比原先舊的 fastjson有了很大提升,并且 fastjson2更安全,完全刪除autoType白名單,提升了安全性。但是是否像官方說的那樣有巨大提升,我們還要拭目以待。

JackSon

3個(gè)核心模塊:

  • Streaming: jackson-core jar,定義了底層的streaming API和實(shí)現(xiàn)了Json特性。

  • Annotations: jackson-annotations jar,包含了標(biāo)準(zhǔn)的Jackson注解。本文暫不介紹。

  • Databind: jackson-databind jar,實(shí)現(xiàn)了數(shù)據(jù)綁定和對(duì)象序列化,它依賴于streaming和annotations的包。

優(yōu)點(diǎn):

  • 性能較高,解析速度快。

  • 支持多種數(shù)據(jù)格式,包括JSON、XML、YAML等。

  • 支持?jǐn)?shù)據(jù)綁定,可以將JSON數(shù)據(jù)直接綁定到Java對(duì)象上。

  • 支持注解,可以通過注解來控制序列化和反序列化的過程。

  • 社區(qū)活躍,文檔齊全,使用廣泛。

缺點(diǎn):

  • 配置較為復(fù)雜,需要掌握較多的API。

  • 對(duì)于復(fù)雜的數(shù)據(jù)結(jié)構(gòu),需要手動(dòng)編寫代碼來處理。

Gson

Gson是谷歌開發(fā)的 JSON 庫,目前功能最全的 JSON 庫,它可以將Java對(duì)象轉(zhuǎn)換為相應(yīng)的JSON形式,也可以將JSON字符串轉(zhuǎn)換為對(duì)應(yīng)的Java對(duì)象。 Gson可以使用任意Java對(duì)象,包括哪些預(yù)先存在的、不在你的源代碼中的對(duì)象(因此,你并不知道對(duì)象的屬性)。

優(yōu)點(diǎn):

  • 輕量

  • 簡(jiǎn)潔

  • 功能全面

缺點(diǎn):

  • 性能對(duì)比Fastjson、jackson稍差



編程小知識(shí)【java-0011】java常用開發(fā)庫-json庫的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
社旗县| 城市| 太康县| 长宁区| 定边县| 渭源县| 曲阜市| 英德市| 潜山县| 新蔡县| 毕节市| 资兴市| 土默特左旗| 黄浦区| 承德市| 乌鲁木齐县| 锡林浩特市| 明水县| 长治县| 仁布县| 临颍县| 沧源| 绵竹市| 绥棱县| 咸阳市| 泰安市| 宝坻区| 南通市| 长垣县| 台中县| 长乐市| 夹江县| 定州市| 孟津县| 尉犁县| 安达市| 皋兰县| 惠州市| 湘潭县| 西昌市| 肥西县|