解析的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());
}
}
本文介绍了两种不同的JSON解析方法:一种是使用Android自带的JsonArray进行解析;另一种是利用Gson库来解析。这两种方法都能实现从JSON字符串中提取Person对象列表的目的。

1万+

被折叠的 条评论
为什么被折叠?



