原创转载请注明出处:http://agilestyle.iteye.com/blog/2380750
Maven Dependency
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.fool.fastjson</groupId> <artifactId>fastjson-demo</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.33</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.6</version> </dependency> </dependencies> </project>
FastJsonTest.java
package org.fool.fastjson;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.ArrayList;
import java.util.List;
public class FastJsonTest {
public static void main(String[] args) {
User guest = new User("guest", 30);
User root = new User("root", 40);
UserGroup userGroup = new UserGroup();
userGroup.setName("admin");
userGroup.getUsers().add(guest);
userGroup.getUsers().add(root);
String jsonStr = JSON.toJSONString(userGroup);
System.out.println("1..." + jsonStr);
UserGroup ug = JSON.parseObject(jsonStr, UserGroup.class);
System.out.println("2..." + ug);
User[] userArray = new User[2];
userArray[0] = guest;
userArray[1] = root;
String jsonStr2 = JSON.toJSONString(userArray);
System.out.println("3..." + jsonStr2);
List<User> userList = JSON.parseArray(jsonStr2, User.class);
System.out.println("4..." + userList);
String temp = "{\"status\":true}";
JSONObject jsonObject = JSON.parseObject(temp);
Boolean b = (Boolean) jsonObject.get("status");
System.out.println("5..." + b);
}
private static class User {
private String name;
private int age;
public User() {
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
private static class UserGroup {
private String name;
private List<User> users = new ArrayList<User>();
public UserGroup() {
}
public UserGroup(String name, List<User> users) {
this.name = name;
this.users = users;
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
}
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;
}
}
}
Console Output