java开发,json转list集合,原生实现
java 是一门面象对象的语言,对象需要先定义,但是在外理网络请求时候会用到json 转成java 对象,虽然现代开发框架中也提供了很多工具和方法直接转换,
但是作为学习者了解 一下底层实现,更能灵活变通
现在有一个json 格式如下
{
"list": [
{
"name": "Tom",
"sex": "boy"
},
{
"name": "MASC",
"sex": "boy"
},
{
"name": "Bob",
"sex": "boy"
}
]
}
编写一个java 类
public class Member {
private String name;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return super.toString();
}
}
编写一个转换方法
private void parseData(String result) { List<Member> list = new ArrayList<>(); try { JSONObject jsonObject = new JSONObject(result); //result 是json对象,如果不是直接报错 JSONArray jsonArray = jsonObject.getJSONArray("list"); //这儿list是json 本身的名字叫list for (int i = 0; i < jsonArray.length(); i++) { JSONObject object = jsonArray.getJSONObject(i); // JSON 是java 原生方法 Member member = new Member(); member.setName(object.getString("name")); member.setSex(object.getString("sex")); list.add(member); } } catch (JSONException e) { e.printStackTrace(); }
//测试打印输出 for (Member member : list) { Log.d("test", member.toString()); } }