JSON解析

JSON是一種和XML差不多的一種實用性非常廣泛的語言,主要用於數據的描述。
相關概念性的東西,在此就不再做多的介紹。
和Xml一樣,json描述的數據,通常情況下在程序中是需要經過解析之後才能使用的。


解析json數據有很多中方法,可以使用官方提供的JSONObject,也可以使用谷歌開源庫GSON,另外,還有一些第三方的開源庫,如:Jackson,FastJSON.


現在要介紹的就是前兩種方法:
1.JSONObject
如下json數據:
str = [{"age":"20"},{"name":"haha"},{"id":"123456"}]
首先這是一個json數組,所以先用方法JSONArray
JSONArray jsonarray = new JSONArray(str);//先獲得數組對象
for(int i=0;i<jsonarray.length;i++){//把數組分開
JSONObject jsonObject = jsonarray.getJSONObject(i);//的到解析json的對象
String id = jsonObject.getString("id"); //解析出數據
String age = jsonObject.getString("age");
String name = jsonObject.getString("name");
}


2.GSON
通過第一個方法,我們發現解析json並沒有那麼複雜。
但是,GSON比第一個還要簡單。
GSON是谷歌提供的開源庫,並沒有集成到系統中,所以如果我們要使用,必須先下載下來,然後才能使用,下載地址:http://code.google.com/p/google-gson/downloads/list。


用法:
Gson的主要用法之一是能自動的將一段json數據映射成一個對象,如下所示:
json(注意,不是json數組)
str = {"age":"20","name":"haha"}
我們可以新建一個Person對象,然後讓json中的數據自動的添加到對象中去。
Gson gson = new Gson();
Person person = gson.fromJson(str,person.class);

json數組:
json數組會稍微麻煩一些
我們需要藉助TypeToken 將期望解析成的數據類型傳入到fromJson()方法中
List<Person> people = gson.fromJson(jsonData, new TypeToken<List<Person>>(){}.getType());


參考文獻:《第一行代碼》


版權所有,如需轉載,請註明出處!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章