JSON数据格式是目前网络开发中除了XML之外的一种常用数据格式,官网介绍参见http://www.json.org/。Java开发工具包常用的有GSON、JSON simple等。本次我们介绍阿里的Fastjson开发工具包。
fastjson官网参见:http://sourceforge.net/projects/fastjson/
1. 配置环境
首先添加Maven的Dependency:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
其中:
<fastjson.version>1.1.36</fastjson.version>
2. 编写用于测试的实体类
首先我们定义一个实体类,用于测试实体或集合类型对象到JSON对象的转换:
public class Person {
private String username;
private String password;
private Long age;
public Person() {
}
public Person(String username, String password, Long age) {
super();
this.username = username;
this.password = password;
this.age = age;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Long getAge() {
return age;
}
public void setAge(Long age) {
this.age = age;
}
}
3. 测试该框架
我们编写一个测试类,成员变量包括:
private Person person;
private String personString;
private List<Person> persons;
private String personsString;
初始化方法如下:
public void init() {
person = new Person("zhangsan", "1234", 30L);
personString = JSON.toJSONString(person);
persons = new ArrayList<Person>();
persons.add(new Person("zhangsan", "1234", 30L));
persons.add(new Person("lisi", "4321", 28L));
persons.add(new Person("wangwu", "1111", 25L));
personsString = JSON.toJSONString(persons, true);
}
如果需要将对象转化为JSON格式的String对象,使用:
JSON.toJSONString(person)
以上方法同样支持列表或数组对象:
JSON.toJSONString(persons)
反序列化使用:
Person p = JSON.parseObject(personString, Person.class);
或者
List<Person> ps = JSON.parseArray(personsString, Person.class);
相对来说,我个人更喜欢使用Google的Gson工具。