星空网 > 软件开发 > 操作系统

Android之JSON解析

  做个Android网络编程的同学一定对于JSON解析一点都不陌生,因为现在我们通过手机向服务器请求资源,服务器给我们返回的数据资源一般都是以JSON格式返回,当然还有一些通过

  当然在使用JSONObject进行数据解析时,有两种方式,一种通过键值对的形式一个一个的取数据;另一种就是将JSONObject解析为具体的对象,然后通过对象的get、set方法进行数据的读取与操作,对于第一种方式,相信刚接触JSON解析的小童鞋都是这样干的,相对第一种方式,第二种方式更加的简单方便,下面我们就一起学习一下如何实现将JSONObject对象转化为具体的对象吧。

  因为今天我们要探讨的是关于JSONObject的解析,所以我就通过一个简单的对象创建--对象封装--对象解析--对象操作,为大家介绍一下如何进行JSONObject向具体对象的转化。
  首先我们的对象类(user):

public class User {    private String id;  private String name;  private String from;    public String getId() {    return id;  }  public void setId(String id) {    this.id = id;  }  public String getName() {    return name;  }  public void setName(String name) {    this.name = name;  }  public String getFrom() {    return from;  }  public void setFrom(String from) {    this.from = from;  }    @Override  public String toString() {    return "User [id=" + id + ",name=" + name + ",from=" + from +"]";  }}

  这里我重写了对象的toString方法,这里一定要注意返回参数的格式:类名+'['+参数名+'='+参数+.....+']'

  下面就是我们的对象创建与解析了:

  1、JSONObject对象解析类:

//JSONObject解析类public class JsonParseToObject {  public Object AllJsonParseToObject(String json, String packageAddress) {    Object parseObject = null;    try {      parseObject = JSON.parseObject(json, Class.forName(packageAddress));    } catch (ClassNotFoundException e) {      e.printStackTrace();    }    return parseObject;  }  }

  2、JSON对象的创建与解析:

public class MainActivity extends Activity {  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    TextView text = (TextView) findViewById(R.id.hw);        //将我们的对象属性封装都JSONObject中    JSONObject jo = new JSONObject();    jo.put("id", "16");    jo.put("name", "小了");    jo.put("from", "河南");    String str = jo.toString();    Toast.makeText(this, str, Toast.LENGTH_LONG).show();        //对JSONObject对象进行解析    User u = (User) new JsonParseToObject().AllJsonParseToObject(jo.toString(), "com.example.jsontoobject.User");        //判断JSONObject对象解析是否正确    if(u != null){      text.setText(jo.toString()+"\nid:"+u.getId()+";name:"+u.getName()+";from:"+u.getFrom());//进行对象操作    }else{      text.setText("User == null");    }  }}

  布局文件很简单就是一个文本框,用来显示解析后的数据。

  Android之JSON解析images/loading.gif' data-original="http://images2015.cnblogs.com/blog/618613/201512/618613-20151223091014202-1628354872.png" width="437" height="256" />

  好了到这里我们关于JSONObject解析的知识就为大家介绍完毕,没用过这种方式的小伙伴可以尝试一下,还是挺方便的,如果你有更好的方式,还望交流学习。




原标题:Android之JSON解析

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

郑州 国际快递:https://www.goluckyvip.com/tag/102324.html
国际货运无锡:https://www.goluckyvip.com/tag/102325.html
发往国外物流:https://www.goluckyvip.com/tag/102326.html
长沙国际物流:https://www.goluckyvip.com/tag/102327.html
ems国际快单号查询:https://www.goluckyvip.com/tag/102328.html
17k国际物流查询:https://www.goluckyvip.com/tag/102329.html
独家丨B站广告位可跳转美团APP B站为电商平台引流再升级 :https://www.kjdsnews.com/a/1836410.html
百崖大峡谷生态旅游景区(探秘中国西南自然风光):https://www.vstour.cn/a/363176.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流