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()); } }
标签:java,String,list,sex,json,public,name From: https://www.cnblogs.com/ZzwWan/p/17809460.html