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()); } }

  

posted @ 2023-11-04 15:59  谢双元小号  阅读(57)  评论(0编辑  收藏  举报