zoukankan      html  css  js  c++  java
  • JSON-fastjson

    fastjson 是alibaba的一个Json处理工具包。

    1、使用  JSON.toJSONString   和  JSON.parseObject 

    fastjson只需要掌握两个静态方法:JSON.toJSONString和JSON.parseObject 

    fastjson示例:

    User.java

    public class User {
        
        private Long   id;
        private String name;
         
        public Long getId() {
            return id;
        }
        public void setId(Long id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
    }

    Group.java

    public class Group {
        
        private Long       id;
        private String     name;
        private List<User> users = new ArrayList<User>();
        
        public Long getId() {
            return id;
        }
        public void setId(Long id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public List<User> getUsers() {
            return users;
        }
        public void setUsers(List<User> users) {
            this.users = users;
        }
        
        public void addUser(User user) {
            users.add(user);
        }
    }

    EncodeTest.java

    public class EncodeTest {
        
        public static void main(String[] args) {
            Group group = new Group();
            group.setId(0L);
            group.setName("admin");
            
            User u = new User();
            u.setId(1L);
            u.setName("wangsan");
            
            User li = new User();
            li.setId(2L);
            li.setName("lisi");
            
            group.addUser(u);
            group.addUser(li);
            
            String jsonString = JSON.toJSONString(group);
            System.out.println(jsonString);
        }
    }

    输出结果:{"id":0,"name":"admin","users":[{"id":1,"name":"wangsan"},{"id":2,"name":"lisi"}]}

    DecodeTest.java

    public class DecodeTest {
        public static void main(String[] args) {
            String jsonStr = "{‘id’:0,‘name’:‘admin’,‘users’:[{‘id’:1,‘name’:‘wangsan’},{‘id’:2,‘name’:‘lisi’}]}";
            Group group = JSON.parseObject(jsonStr, Group.class);
            System.out.println(group.getId());
            System.out.println(group.getName());
            
            System.out.println(group.getUsers().get(0).getId());
            System.out.println(group.getUsers().get(0).getName());
        }
    }

    2、net.sf.json.JSONException: Object is null

    net.sf.json.JSONException: Object is null:

    JSONArray或JSONObject转换时,对象内包含另一个对象,而该被包含的对象为NULL,抛出异常

    参考资料:

    1、fastjson  Github  地址 :https://github.com/alibaba/fastjson

    2、JSON 之 fastjson 解析 : http://blog.sina.com.cn/s/blog_7ffb8dd501013qas.html

  • 相关阅读:
    GoF 23种设计模式概述
    设计模式总篇
    面向对象软件开发六大原则
    StarUML类图相关——关联、聚合、组合、泛化、依赖、实现
    Java8集合框架——ArrayList源码分析
    Q6:ZigZag Conversion
    Python基础学习-列表基本操作
    Python基础学习之字符串(1)
    Python基础学习之序列(2)
    Python基础学习之序列(1)
  • 原文地址:https://www.cnblogs.com/lashou/p/6086450.html
Copyright © 2011-2022 走看看