json与类,集合的转换(二)之fastson实现
1. 定义的实体类见上篇
2. 实现代码
import com.alibaba.fastjson.JSON;
import org.apache.commons.collections.map.HashedMap;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* Fastjson是一个Java语言编写的高性能的JSON处理器,由阿里巴巴公司开发。
无依赖,不需要例外额外的jar,能够直接跑在JDK上。
*/
public class FastJsonTest {
public static void main(String[] args) {
//构建用户对象
User guestUser = new User();
guestUser.setName("admin");
guestUser.setAge(18);
User rootUser = new User();
rootUser.setName("root");
rootUser.setAge(18);
//构建用户组对象 用户组中有admin用户和root用户
UserGroup group = new UserGroup();
group.setName("usergroup");
group.getUsers().add(guestUser);
group.getUsers().add(rootUser);
//用户组对象转json
String jsonString = JSON.toJSONString(group);
System.out.println(jsonString);
//json字符串转用户组对象
UserGroup userGroup = JSON.parseObject(jsonString, UserGroup.class);
System.out.println(userGroup);
//json和list集合转换
List<User> userList = new ArrayList<User>();
userList.add(guestUser);
userList.add(rootUser);
//list转json
String jsonString1 = JSON.toJSONString(userList);
System.out.println(jsonString1);
//json转list
List<User> users1 = JSON.parseArray(jsonString1,User.class);
System.out.println(users1);
Map<String,User> map = new HashedMap();
map.put(guestUser.getName(),guestUser);
map.put(rootUser.getName(),rootUser);
//map转json
String jsonString2 = JSON.toJSONString(map);
System.out.println("jsonString2"+jsonString2);
//json转map 方式多种
Map<String,User> map1 = (Map<String, User>) JSON.parse(jsonString2);
System.out.println(map1);
}
}
可以看出 fastjson实现也很容易
其他转json都是JSON.toJSONString()方法
json转其他都是JSON.parse开头的方法
效果如下: