码迷,mamicode.com
首页 > Web开发 > 详细

数据传输:JSON-fastjson

时间:2016-11-22 12:55:31      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:hub   lin   []   lan   抛出异常   alibaba   test   class   lis   

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

数据传输:JSON-fastjson

标签:hub   lin   []   lan   抛出异常   alibaba   test   class   lis   

原文地址:http://www.cnblogs.com/lashou/p/6086450.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!