解析JSON格式
阿新 • • 發佈:2018-12-07
兩種方法:
第一種官方提供的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());