• android 使用gson 处理Json


    Json是一种类似于XML的通用数据交换格式,比XML传输效率高.更利于网络传输数据。这里说一些使用Gosn类来处理json数据。Gson比传统的json处理方式更加快速,Gson开源的。如果有兴趣的也可以了解一下阿里开发的fastgson,速度也非常快。

    使用Gosn 处理json非常简单。第一我们首先创建一个JavaBean类

    (1)创建User.java

    public class User {
        public User(String name, int age) {
            this.name = name;
            this.age = age;
        }
    
        private String name;
        private int age;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    }
    View Code

    (2)解析如下json格式数据:

    String jsonData = "[{"name":"john","age":18},{"name":"Jason","age":16}]";
    
    //解析类型
    Type listType = new TypeToken<LinkedList<User>>(){}.getType(); 
    //创建Gson实例,Gson gson = new Gson();也行
    Gson gson = GsonFactory.getGsonInstance();
    //解析Json数据
    LinkedList<User> users = gson.fromJson(jsonData, listType); 
    //迭代输出
    for (Iterator iterator = users.iterator(); iterator.hasNext();) { 
    User user = (User) iterator.next(); 
    System.out.println(user.getName()); 
    System.out.println(user.getAge()); 
    }

    (3)把JavaBean利用Gson生成Json数据

     

     List<User> userList=new LinkedList<User>();
    User user1
    =new User ("张三",20); userList.add(user1);
    User user2
    =new User ("John",45); userList.add(user2);  //创建Gson实例 Gson gson=new Gson(); //生成Json格式数据  String jsonData=gson.toJson(userList) System.out.println(jsonData); //输出结果是: [{"name":"张三","age":20},{"name":"John","age":45}]

    这里主要用到Gson两个方法:

    1.解析json的方法 fromJson

    2.生成json的方法 toJson

  • 相关阅读:
    一、反射机制介绍_Class 对象获取
    六、.XPATH 技术_快速获取节点
    五、.DOM4J 方式解析 XML 数据
    四、.JDOM 解析 XML 数据
    三、SAX 方式解析 XML 数据
    二、DOM方式解析XML
    一、Schema验证XML
    三、线程同步Synchronized
    二、线程状态
    JDK8Lambda和方法的引用
  • 原文地址:https://www.cnblogs.com/ywtk/p/3851421.html
Copyright © 2020-2023  润新知