JSON数据格式是目前网络开发中除了XML之外的一种常用数据格式,官网介绍参见http://www.json.org/。Java开发工具包常用的有GSON、JSON simple等。本次我们介绍阿里的Fastjson开发工具包。
fastjson官网参见:http://sourceforge.net/projects/fastjson/
首先添加Maven的Dependency:
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson.version}</version> </dependency>
<fastjson.version>1.1.36</fastjson.version>
首先我们定义一个实体类,用于测试实体或集合类型对象到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; } }
我们编写一个测试类,成员变量包括:
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.toJSONString(person)
JSON.toJSONString(persons)
Person p = JSON.parseObject(personString, Person.class);或者
List<Person> ps = JSON.parseArray(personsString, Person.class);