1. 程式人生 > >解析JSON格式

解析JSON格式

兩種方法:
第一種官方提供的JSONObject,也可以使用谷歌開源庫GSON
JSONObject

private void parseJSONWithJSONObject(String jsonData){
    try {
        //將伺服器返回的資料傳入到一個JSONArray中
        JSONArray jsonArray = new JSONArray(jsonData);
        //遍歷jsonArray,從中取出的每一個元素都是JSONObject物件,包含了id/name/version這些資料
        for (int i = 0;
i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); String id = jsonObject.getString("id"); String name = jsonObject.getString("name"); String version = jsonObject.getString("version"); } } catch (JSONException
e) { e.printStackTrace(); } }

GSON
主要就是可以將一段JSON格式的字串自動對映成一個物件,從而我們不用手動去編寫程式碼去進行解析了。
使用–>新增依賴:

compile 'com.google.code.gson:gson:2.7'
Gson gson = new Gson();
Person person = gson.fromJson(jsonData,Persion.class);

將json資料自動解析成為了一個Persion物件了。

如果是解析一段Json陣列會稍微麻煩點,我們需要藉助TypeToken將期望解析成的資料型別傳入到fromJson()方法中

List<Person> people = gson.fromJson(jsonData , new TypeToken<List<Person>>(){}.getType());