我使用 fastjson 来处理JSON..但是他这里面需要有一个类(对象)?
类包含了JSON数据结构
通过修改这个类然后再将这个类转换成JSON字符串 或者字符串转换回java对象还原到这个类里面..(现在我也不太明白是不是这样设计的)那么这里面有什么规则呢? 比如在什么包下用什么名字等等例:
net.mytest.io
    --SocketHandler.java //Socket数据的输入输出通过JSON包装
net.mytest.model
    --JsonSocketObject.java //需要socket处理转换用到的JSON"包装类"?是这样设定的么.. 这些规范我不明白.. orz

解决方案 »

  1.   

    //这种类我还不知道怎么称呼 *_* 现在就管他叫 包装类
    //这里也可以比作我刚才说的Socket输入输出的JSON数据类吧..
     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; }
    }
    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; }
    }
    //java对象转JSON
    //这里也可以当做我说的Socket 处理里面需要对网络数据输入输出进行包装的类吧..
    import com.alibaba.fastjson.JSON;
     
    Group group = new Group();
    group.setId(0L);
    group.setName("admin");
     
    User guestUser = new User();
    guestUser.setId(2L);
    guestUser.setName("guest");
     
    User rootUser = new User();
    rootUser.setId(3L);
    rootUser.setName("root");
     
    group.getUsers().add(guestUser);
    group.getUsers().add(rootUser);
     
    String jsonString = JSON.toJSONString(group);
     
    System.out.println(jsonString);还有就是rootUser.setId(3L);  2L  3L 的L是什么意思呢?
      

  2.   

    抱歉.. 我没有使用代码形式显示代码..
     希望能回答一下 orz
    整个问题困扰很久..