美文网首页程序员
简单了解Android ——JOSN解析

简单了解Android ——JOSN解析

作者: 热爱生活的男孩子 | 来源:发表于2017-06-04 17:10 被阅读0次
    JOSN的定义:

    一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。

    JOSN和xml比较:

    1.JSON和XML的数据可读性基本相同
    2.JSON和XML同样拥有丰富的解析手段
    3.JSON相对于XML来讲,数据的体积小
    4.JSON与JavaScript的交互更加方便
    5.JSON对数据的描述性比XML较差
    6.JSON的速度要远远快于XML

    比较常用的类:

    JSONObject、JSONArray、JSONException、JSONStringer、JSONTokener

    创建简单的JSON数据对应的JavaBean类:
    public class EntityStudent {
        private int id;
        private String name;
        private String sex;
        private int age;
        private int height;
    
        public void setId(int id){
            this.id = id;
        }
        public void setName(String name){
            this.name = name;
        }
        public void setSex(String sex){
            this.sex = sex;
        }
        public void setAge(int age){
            this.age = age;
        }
        public void setHeight(int height){
            this.height = height;
        }
        public int getId(){
            return id;
        }
        public String getName(){
            return name;
        }
        public String getSex(){
            return sex;
        }
        public int getAge(){
            return age;
        }
        public int getHeight(){
            return  height;
        }
        public void show(){
                    System.out.print("id=" + id + ",");
                    System.out.print("name=" + name+",");
                    System.out.print("sex=" + sex+",");
                    System.out.print("age=" + age+",");
                    System.out.println("height=" + height + ",");
    
        }
    }
    
    JSON数据:
      "basic":
        {
          "phonetic":"kɑː",
          "explains":["n. 汽车;车厢","n. (Car)人名;(土)贾尔;(法、西)卡尔;(塞)察尔"]},
      "query":"car",
      "errorCode":0,
      "web":[{"value":["汽车","车子","小汽车"],"key":"Car"},
             {"value":["概念车","概念车","概念汽车"],"key":"concept car"},
             {"value":["碰碰车","碰撞用汽车","碰碰汽车"],"key":"bumper car"}]
    }
    

    解析方式:基于事件驱动,根据所需要取的数据通过建立一个对应于JSON数据的JavaBean类就可以通过简单的操作解析出所需JSON数据

    public class student {
        public String[] translation;      //["车"]数组
        public basic basic;                //basic对象里面嵌套着对象,创建一个basic内部类对象
        public  static class basic{        //建立内部类
            public String phonetic;
            public String[] explains;
        }
        public String query;
        public int errorCode;
        public List<wb> web;            //web是一个对象数组,创建一个web内部类对象
        public static class wb{            
                public String[] value;
                public String key;
            }
    
        public void show(){
            //输出数组
            for (int i = 0;i<translation.length;i++)
            {
            System.out.println(translation[i]);
            }
            //输出内部类对象
            System.out.println(basic.phonetic);
            //输出内部类数组
            for (int i = 0;i<basic.explains.length;i++){
                System.out.println(basic.explains[i]);
            }
            System.out.println(query);
            System.out.println(errorCode);
            for (int i = 0;i<web.size();i++){
                for(int j = 0; j<web.get(i).value.length;j++)
                {
                    System.out.println(web.get(i).value[j]);
                }
                System.out.println(web.get(i).key);
            }
        }
        }
    

    更多的有关json数据格式可以参加json的官网,http://www.json.org.cn

    相关文章

      网友评论

        本文标题:简单了解Android ——JOSN解析

        本文链接:https://www.haomeiwen.com/subject/fzovfxtx.html