優雅性感之 JSON 小姐姐

在這裏插入圖片描述
閱讀文本大概需要 3.0 分鐘。

我們都知道,在實際項目的開發中肯定是少不了要與優雅的 JSON 小姐姐打交道的,想要完全與這麼優雅漂亮又性感大方的 JSON 小姐姐擦肩而過,這是不存在的。

因爲最近也一直在跟 JSON 小姐姐打交道,深深被小姐姐的優雅所吸引,所以特此做個總結。


1、什麼是 JSON


定義

JSON 是一種與開發語言無關的、輕量級的數據格式。全稱是 JavaScript Object Notation。

流行原因

易於閱讀和編寫,易於程序的解析與生產。

存儲方式

採用 key value 的存方式,左邊存儲的是 key 值,右邊是相對應的 value。

樣例

在這裏插入圖片描述


2、標準的 JSON 數據表示


數據結構之 Object

在這裏插入圖片描述

使用花括號 {} 包含的鍵值對結構,Key 必須是 string 類型,value 爲任何的基本類型或數據結構。

數據結構之 Array

在這裏插入圖片描述

使用中括號 [] 來開始,並用逗號來分隔元素。

基本類型

string

number 沒有 int、float、double 等類型,統一使用 number 類型

true

false

null

在這裏插入圖片描述

【注意】從上圖中我們可以看到 JSON 是不支持像平時在代碼中寫註釋那樣的,如果實在是要註釋,可以採用曲線救國的方法,比如上圖添加一個 comment 屬性來表示這是一個註釋。


3、JSON 的使用


使用 JSONObject 構建 JSON

在這裏插入圖片描述

通過 HashMap 構建 JSON

在這裏插入圖片描述

使用 Java Bean 構建對象

在這裏插入圖片描述

首先,我們可以根據業務需求先創建一個 Java Bean,比如有個 Java Bean 叫 WangleXiaoEr,裏面有關於上述王小二相關信息的屬性和訪問器等等。

PS  除了上面三種方法構建 JSON 之外,其實還有其他方法也一樣可以,比如我們也可以通過 StringBuffer 或者是 StringBuilder 等方式來構建(拼接) JSON 串,這裏就不一一贅述了。但是比較建議的是通過 Java Bean 構建 JSON,因爲可以更好地複用,但也有缺點,就是解析地時候缺少相應的 JSONObject、JSONArray 等的支持。


4、JSON 地解析


假設有一個類 ReadJSONSample,其根路徑下有一個 wangxiaoer.json 文件,裏面存放着 JSON 信息,則解析其中相對應的 JSON 信息如下:

在這裏插入圖片描述

其中,對於一般的類型只需要通過 JSONObject 的對象類解析讀取即可,但是對於 JSON 串中的數組類型而言,因爲 JSONObject 在設計的時候存在一點漏洞,不支持 JSON 中相應的數組類型的直接讀取,所以需要做一點特殊地轉換處理才能獲取到相應的信息。步驟如下:

先轉換成 JSONArray 類型

在這裏插入圖片描述

遍歷數組讀取其中相應元素

在這裏插入圖片描述

不過有一點需要注意的是,當我們在讀取文件的時候有可能不存在要讀取的屬性,這時候要怎麼辦呢?其實 JSONObject 中提供了相應的方法來處理,此時可以通過 JSONObject 特有的方法 isNull() 來判斷是否有相應的屬性,增加程序的健壯性。

在這裏插入圖片描述


特別聲明:
本文始發於我的同名公衆號 : 櫻木天亥
歡迎轉載,轉載請註明出處
https://www.jianshu.com/p/1227c3055457
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章