两种方法:
第一种官方提供的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());