摘要: Fastjson 教程採用示例的方式,基於1.2.47版本,簡單介紹Fastjson 在Java項目中的使用情形。力求做到最簡明的Fastjson API,方便使用者方便查閱Fastjson 的使用方法。
JSON 介紹
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,它與XML一起成爲了軟件開發領域兩個重要的數據格式。
通常來說,JSON有兩種結構:
- 對象 - > 用{ }表示,
- 數組 - > 用 [ ] 表示。
六種類型:
- 數字(整數、浮點數)、
- 字符串(引號中)、
- 布爾值(True、False)、
- 數組(中括號中)、
- 對象(大括號中)、
- null
在很多場景下,都能看到類似的JSON數據:
{ "age":30 }
或者:
{ "name":"Taobao", "info":[ "淘寶", "網購" ] }
JSON 與 Java
JSON處理主要包括兩個部分,serialize和deserialize。serialize就是把Java對象變成JSON String或者JSON Bytes。Deserialize是把JSON String或者Json Bytes變成java對象。在Java領域,對象的序列化與反序列化一直繞不開的話題,幸運的是,這些重複性的工作已經有許多開源產品解決了,Jackson與Gson是兩個很優秀的產品,它們有相對完整的生態體系,也有比較活躍的社區支持。國人在這一點上也有所突破,Fastjson是我接觸過的相對優秀的開源產品。
關於Fastjson 作者
溫紹錦 ,網名溫少(whenshao),阿里巴巴集團高級專家,Druid和Fastjson開源項目的主要開發者。
Druid是Java語言中的數據庫連接池,能夠提供強大的監控和擴展功能。Fastjson是其加入阿里巴巴不久後的2011年所編寫的JSON Parser,目前還在持續維護更新。
寫作初衷
Fastjson 相對薄弱的文檔成爲了使用過程中障礙。在趕項目的時候,不斷翻閱源碼查看使用方式,確實不是明智之舉。這也是爲什麼我要寫這篇教程的原因,希望幫助更多人瞭解Fastjson,並運用於實際項目中。