App.java
package com.bugyun.fastjson;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.bugyun.fastjson.po.Group;
import com.bugyun.fastjson.po.User;
/**
*
* 项目名称:fastjson 1.2.31
* 类名称:App.java
* 类描述:
* 1. JSON.toJSONString() 转换为String
* 2. JSON.parseObject(userArr, new TypeReference<T>() {}); 转换为对象
* 3. JSON.parseArray(userArr,T.class); 转换为T的集合;
* 创建人:beyond
* 创建时间:2017年4月26日 下午5:43:43
* 修改人:
* 修改时间:
* 修改备注:
* @version
*/
public class App {
public static void main(String[] args) {
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.addUser(guestUser);
group.addUser(rootUser);
String groupJson = objectCastToString(group);
System.out.println("objectCastToString: "+groupJson);
String userArr = "[{\"id\":2,\"name\":\"guest\"},{\"id\":3,\"name\":\"root\"}]";
List<User> listOne = castToPOListOne(userArr);
for (User user : listOne) {
System.err.println(" one: "+user);
}
List<User> Two = castToPOListTwo(userArr);
for (User user : Two) {
System.out.println(" two: "+user);
}
group = castToPO(groupJson);
System.err.println("castToPO: "+group);
String dateTime =dateCastToString(new Date(), "yyyy-MM-dd HH:mm:ss");
System.out.println("dateCastToString: "+dateTime);
Map<String,Object> map = new HashMap<String, Object>();
map.put("name", "hello");
map.put("age", "11");
String mapStr = mapCastToString(map);
System.err.println("mapCastToString: "+mapStr);
map = castToMap(mapStr);
System.out.println("castToMap: "+map);
List<User> users = new ArrayList<>();
users.add(rootUser);
users.add(guestUser);
String listStr = listCastToString(users);
System.out.println("listCastToString: "+listStr);
}
/**
* userArr 转换为 user列表
* @param userArr user对象拼接的数组
* @return
* @author beyond
* @data:2017年4月26日下午5:26:19
*/
static List<User> castToPOListOne(String userArr) {
List<User> list = JSON.parseObject(userArr, new TypeReference<List<User>>() {
});
return list;
}
static List<User> castToPOListTwo(String userArr) {
List<User> list = JSON.parseArray(userArr,User.class);
return list;
}
static Map<String,Object> castToMap(String mapStr) {
Map<String,Object> map = JSON.parseObject(mapStr,new TypeReference<Map<String,Object>>(){});
return map;
}
/**
* Group JSON 转换为 Group 对象
* @param groupJson
* @return
* @author beyond
* @data:2017年4月26日下午5:25:49
*/
static Group castToPO(String groupJson) {
Group group = JSON.parseObject(groupJson, Group.class);
return group;
}
/**
* 日期转换为指定时间格式
* @param date
* @param pattern
* @return
* @author beyond
* @data:2017年4月26日下午5:33:20
*/
static String dateCastToString(Date date , String pattern) {
String dateTime = JSON.toJSONStringWithDateFormat(date, pattern);
return dateTime;
}
/**
* Group 对象转换为 String
* @return
* @author beyond
* @data:2017年4月26日下午5:27:04
*/
static String objectCastToString(Group group) {
String jsonString = JSON.toJSONString(group);
return jsonString;
}
/**
* map 转为String
* @param map
* @return
* @author beyond
* @data:2017年4月26日下午5:50:53
*/
static String mapCastToString(Map<String,Object> map) {
String str = JSON.toJSONString(map);
return str;
}
/**
* list 转 String
* @param users
* @return
* @author beyond
* @data:2017年4月26日下午5:51:12
*/
static String listCastToString(List<User> users) {
String str = JSON.toJSONString(users);
return str;
}
}
User:
package com.bugyun.fastjson.po;
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;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
}
}
Group.java
package com.bugyun.fastjson.po;
import java.util.ArrayList;
import java.util.List;
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;
}
public void addUser(User user) {
users.add(user);
}
@Override
public String toString() {
return "Group [id=" + id + ", name=" + name + ", users=" + users + "]";
}
}
pom.xml
<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>com.bugyun</groupId> <artifactId>fastjson</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>fastjson</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.31</version> </dependency> </dependencies> <build> <!-- jar 包名称 --> <finalName>bugyunFastjson</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>