一、FastJson
fastjson.jar是阿里开发的一款专门用于Java开发的包,可以方便的实现json对象与JavaBean对象的转换,实现JavaBean对象与json字符串的转换,实现json对象与json字符单的转换。实现json的转换方法很多,最后的实现结果都是一样的。
fastjson的pom依赖!
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.60</version>
</dependency>
二、fastjson三个主要的类
- 【JSONObject代表json对象】
- JSONObject实现了Map接口,猜想JSONObject底层操作是由Map实现的。
- JSONObject对应json对象,通过各种形式的get()方法可以获取json对象中的数据,也可利用诸如size(),isEmpty()等方 法获取"键:值"对的个数和判断是否为空。其本质是通过实现Map接口并调用接口中的方法完成的。
- 【JSONArray代表json对象数组】
- 内部是有List接口中的方法来完成操作的。
- 【JSON代表JSONObject和JSONArray的转化】
- JSON类源码分析与使用
- 仔细观察这些方法,主要是实现json对象,json对象数组, javabean对象, json字符串之间的相互转化。.
三、测试
沿用上一篇博客“Jackson的使用”项目!
UserController:
@RequestMapping("/j2")
@ResponseBody
public String json2() throws JsonProcessingException {
List<User> userList = new ArrayList<User>();
User user1 = new User("Massimo1", 20, "男");
User user2 = new User("Massimo2", 20, "男");
User user3 = new User("Massimo3", 20, "男");
User user4 = new User("Massimo4", 20, "男");
userList.add(user1);
userList.add(user2);
userList.add(user3);
userList.add(user4);
String str = JSON.toJSONString(userList);
return str;
}
效果: