關於Json和Gson的概述與相關示例

JSON(JavaScript Object Notation)是一種由道格拉斯·克羅克福特構想和設計、輕量級的數據交換語言,該語言以易於讓人閱讀的文字為基礎,用來傳輸由屬性值或者序列性的值組成的數據對象。儘管JSON是JavaScript的一個子集,但JSON是獨立於語言的文本格式,並且採用了類似於C語言家族的一些習慣。

JSON 數據格式與語言無關,脫胎於 JavaScript,但目前很多編程語言都支持 JSON 格式數據的生成和解析。JSON 的官方 MIME 類型是 application/json,文件擴展名是 .json。

JSON用於描述資料結構,有兩種結構存在:

對象(object):一個對象包含一系列非排序的名稱/值對(pair),一個對象以{開始,並以}結束。每個名稱/值對之間使用:分區。

數組 (array):一個數組是一個值(value)的集合,一個數組以[開始,並以]結束。數組成員之間使用,分區。

具體的格式如下:

名稱/值(pair):名稱和值之間使用:隔開,一般的形式是:

{name:value}

一個名稱是一個字符串; 一個值(value)可以是一個字符串(string),一個數值(number),一個對象(object),一個布爾值(bool),一個有序列表(array),或者一個null值。

字符串:以""括起來的一串字符。

數值:一系列0-9的數字組合,可以為負數或者小數。還可以用e或者E表示為指數形式。

布爾值:表示為true或者false。

值的有序列表(array):一個或者多個值用,分區後,使用[,]括起來就形成了這樣的列表,形如:

[value, value]

示例:

關於Json和Gson的概述與相關示例

在maven項目中引用json依賴

關於Json和Gson的概述與相關示例

java中使用json

關於Json和Gson的概述與相關示例

我們也可以通過map集合來構建json

關於Json和Gson的概述與相關示例

也可以使用javabean來構建json對象

關於Json和Gson的概述與相關示例

從文件中讀取json

引入依賴包

關於Json和Gson的概述與相關示例

創建json文件

關於Json和Gson的概述與相關示例

讀取json內容

關於Json和Gson的概述與相關示例

存在這樣一種情況,當我們想獲取json數據中key為name的value值,但是沒有這個key 如果不加以處理,會引起程序的報錯

關於Json和Gson的概述與相關示例

我們可以採用以下的方式來保證程序的健壯性

關於Json和Gson的概述與相關示例

Gson(又稱Google Gson)是Google公司發佈的一個開放源代碼的Java庫,主要用途為序列化Java對象為JSON字符串,或反序列化JSON字符串成Java對象。

Gson的應用主要為toJson與fromJson兩個轉換函數,而在使用這種對象轉換之前需先創建好對象的類別以及其成員才能成功的將JSON字符串成功轉換成相對應的對象。

class Examples {

private int answer1 = 100;

private String answer2 = "Hello world!";

Examples(){

} // default constructor

}

序列化JAVA對象成JSON字符串

Examples example1 = new Examples();

Gson gson = new Gson();

String json = gson.toJson(example1);

==> json is {"answer1":100,"answer2":"Hello world!"}

反序列化JSON字符串成對應的JAVA對象

Examples example2= gson.fromJson(json,Examples.class);

==> example2即與example1相同

對象example1透過toJson序列化成JSON字符串傳遞,再宣告一個對象example2為接收了JSON後透過fromJson反序列化成example2,故example1與example2相同

在pom文件中添加相關的依賴

關於Json和Gson的概述與相關示例

基本示例:

關於Json和Gson的概述與相關示例

這樣看gson與json沒有多大區別

但是我們可以這樣玩,給屬性加上註解

關於Json和Gson的概述與相關示例

這個很有意思對吧,可以改變key值

關於Json和Gson的概述與相關示例

構建個性化的gson數據

關於Json和Gson的概述與相關示例

gson簡單的回調函數示例:

關於Json和Gson的概述與相關示例

使用gson隱藏數據 如下 sex的值並未顯示出來

關於Json和Gson的概述與相關示例

關於Json和Gson的概述與相關示例

將gson數據解析成對象。這是json所做不到的

關於Json和Gson的概述與相關示例

使用gson實現日期的解析

關於Json和Gson的概述與相關示例

關於Json和Gson的概述與相關示例

關於Json和Gson的概述與相關示例

注意:gson數據中的數組可以和java中的集合實現無縫對接


分享到:


相關文章: