1. 程式人生 > >Java中json的使用之讀取篇(二)

Java中json的使用之讀取篇(二)

看過前一篇文章的讀者一定對JSON有了一個初步的印象。

那麼我們接收到一個JSON格式資料的時候,應該怎樣去讀取呢?

本文用到的工具:Eclipse   google-gson-2.2.4

首先,我們通過JSON官網下載JSON的jar檔案           地址:JSON官網

建立一個Java專案,名為TestJSON,在專案中建立一個Folder取名為lib,將我們的JSON的jar檔案放入該Folder下,並新增至構建路徑

然後在專案的根目錄下建立一個file,取名students.json,並將如下程式碼新增進去。

{
	"people":"students",
	"student":[
		{"id":1,"age":"6","name":"Join"},
		{"id":2,"age":"7","name":"Mark"},
		{"id":3,"age":"8","name":"Tony"}
	],
	"clever":true
}

這樣一個JSON檔案就創建出來了。

OK,我們繼續。

我們在src下面建立一個Class,取名為TestReadJSON.java,程式碼如下:

	public void readJSON(JsonObject object){
		System.out.println("people="+object.get("people").getAsString());
		JsonArray array = object.get("student").getAsJsonArray();
		for(int i=0;i<array.size();i++){
			System.out.println("-----------");
			JsonObject subObject = array.get(i).getAsJsonObject();
			System.out.println("id="+subObject.get("id").getAsInt());
			System.out.println("age="+subObject.get("age").getAsInt());
			System.out.println("name="+subObject.get("name").getAsString());
		}
		System.out.println("-----------");
		System.out.println("clever="+object.get("clever").getAsBoolean());
	}
我們通過JsonObject的get()方法可以或得到對應 key 的value ,但型別為JsonElement型別,所以我們需要呼叫getAsXxx()方法獲取到對應資料型別的內容。

好了,寫一個main方法測試一下吧!

首先我們需要建立一個JSON解析器JsonParser物件,然後通過解析檔案得到JsonObject物件

程式碼如下:

	JsonParser parser = new JsonParser();
	JsonObject object = (JsonObject) parser.parse(new FileReader("test.json"));

這樣一來我們的JsonObject物件就得到了,快快呼叫剛才已經寫好的readJSON方法試試效果吧!

控制檯結果如下:

people=students
-----------
id=1
age=6
name=Join
-----------
id=2
age=7
name=Mark
-----------
id=3
age=8
name=Tony
-----------
clever=true

OK!怎麼樣,JSON的讀取是不是也很簡單呀!