深入浅析Android JSON解析

深入浅析Android JSON解析,第1张

概述JSON语法首先看JSON的语法和结构,这样我们才知道怎么去解析它。JSON语法时JavaScript对象表示语法的子集。

JsON语法

首先看JsON的语法和结构,这样我们才知道怎么去解析它。JsON语法时JavaScript对象表示语法的子集。

JsON的值可以是:

数字(整数或者浮点数)

字符串(在双引号内)

逻辑值(true 或 false)

数组(使用方括号[]包围)

对象( 使用花括号{}包围)

null

JsON中有且只有两种结构:对象和数组。

1、对象:对象在Js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,…}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。

2、数组:数组在Js中是中括号“[]”括起来的内容,数据结构为 [“java”,“JavaScript”,“vb”,…],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。

做个AndroID网络编程的同学一定对于JsON解析一点都不陌生,因为现在我们通过手机向服务器请求资源,服务器给我们返回的数据资源一般都是以JsON格式返回,当然还有一些通过XML格式返回,相对JsON格式,XML格式的数据在处理时相对比较繁琐,并且AndroID为我们提供了两个解析JsON对象的类:JsONObject与JsONArray这两个对象可以很好的满足我们的需求,JsONArray对象可以以数组的形式将数据返回到手机,JsONObject对象则可以以对象的形式将数据为我们封装好返回,手机接收都这两种数据后,通过解析,可以很方便的使用,大大的方便了我们的开发学习。

  当然在使用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");    }  }}

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

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

以上内容是小编给大家分享的AndroID JsON解析的全部叙述,希望可以帮助大家。

总结

以上是内存溢出为你收集整理的深入浅析Android JSON解析全部内容,希望文章能够帮你解决深入浅析Android JSON解析所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1141958.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存