解析的Json数组如下:
第一种 使用自带的JsonArray 解析,代码如下:
//通过自带的JsonArray
public List<Person> getListPersonByArray(String jsonString){
List<Person> personList=new ArrayList<Person>();
try {
JSONArray jsonArray=new JSONArray(json);
Log.e("ceshi", jsonArray.length()+"长度");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject= (JSONObject) jsonArray.get(i);
personList.add(new Person(jsonObject.optInt("id"), jsonObject.optString("name"), jsonObject.optInt("age")));
}
return personList;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
第二种 使用Gson解析,代码如下:
//通过Gson解析
public List<Person> getListPersonByGson(String jsonString) {
List<Person> list = new ArrayList<Person>();
Gson gson = new Gson();
list = gson.fromJson(jsonString, new TypeToken<List<Person>>() {
}.getType());
return list;
}
Activity中onCreate中的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// List<Person> list=getListPersonByGson(json);
List<Person> list=getListPersonByArray(json);
for (int i = 0; i < list.size(); i++) {
Log.e("ceshi", list.get(i).getName());
}
}