我使用 fastjson 来处理JSON..但是他这里面需要有一个类(对象)?
类包含了JSON数据结构
通过修改这个类然后再将这个类转换成JSON字符串 或者字符串转换回java对象还原到这个类里面..(现在我也不太明白是不是这样设计的)那么这里面有什么规则呢? 比如在什么包下用什么名字等等例:
net.mytest.io
--SocketHandler.java //Socket数据的输入输出通过JSON包装
net.mytest.model
--JsonSocketObject.java //需要socket处理转换用到的JSON"包装类"?是这样设定的么.. 这些规范我不明白.. orz
类包含了JSON数据结构
通过修改这个类然后再将这个类转换成JSON字符串 或者字符串转换回java对象还原到这个类里面..(现在我也不太明白是不是这样设计的)那么这里面有什么规则呢? 比如在什么包下用什么名字等等例:
net.mytest.io
--SocketHandler.java //Socket数据的输入输出通过JSON包装
net.mytest.model
--JsonSocketObject.java //需要socket处理转换用到的JSON"包装类"?是这样设定的么.. 这些规范我不明白.. orz
//这里也可以比作我刚才说的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是什么意思呢?
希望能回答一下 orz
整个问题困扰很久..