工具包下载:链接: https://pan.baidu.com/s/1dn5uNwiJ1ICkbPknlMmkHQ 提取码: ayzn 复制这段内容后打开百度网盘手机App,操作更方便哦
1.JSON介绍
JSON
(javaScript Object Notation)是一种轻量级的数据交换格式。主要采用键值对({"name": "json"}
)的方式来保存和表示数据。JSON
是JS
对象的字符串表示法,它使用文本表示一个JS
对象的信息,本质上是一个字符串。
2.FastJson简介
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
3.fastjson的优点
(1)速度快:fastjson相对其他JSON库的特点是快,从2011年fastjson发布1.1.x版本之后,其性能从未被其他Java实现的JSON库超越。
(2)使用广泛:fastjson在阿里巴巴大规模使用,在数万台服务器上部署,fastjson在业界被广泛接受。在2012年被开源中国评选为最受欢迎的国产开源软件之一。
(3)测试完备
(4)功能完备:支持泛型,支持流处理超大文本,支持枚举,支持序列化和反序列化扩展。
4. JSON 常用方法:
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class JsonDemo { public static void main(String[] args) { mapToJson(); mapListToJson(); objectToJson(); objectListToJson(); jsonToObject(); jsonToMap(); jsonToList(); } /** * Map 转成 Json */ public static void mapToJson() { Map<String, Object> map = new HashMap<>(); map.put("key1", "One"); map.put("key2", "Two"); String mapJson = JSON.toJSONString(map); System.out.println("mapJson:" + mapJson); } /** * MapList 转成 Json */ public static void mapListToJson() { List<Map<String, Object>> list = new ArrayList<>(); Map<String, Object> map1 = new HashMap<>(); map1.put("key1", "One"); map1.put("key2", "Two"); Map<String, Object> map2 = new HashMap<>(); map2.put("key1", "Three"); map2.put("key2", "Four"); list.add(map1); list.add(map2); String listJson = JSON.toJSONString(list); System.out.println("listJson:" + listJson); } /** * Object 转成 Json */ public static void objectToJson() { User user = new User(); user.setUserName("李四"); user.setAge(24); String userJson = JSON.toJSONString(user); System.out.println("userJson:"+userJson); } /** * ObjectList 转成 Json */ public static void objectListToJson() { List<User> list = new ArrayList<>(); for (int i = 25; i < 27 ; i++) { User user = new User(); user.setUserName("李四-"+i); user.setAge(i); list.add(user); } String userJson = JSON.toJSONString(list); System.out.println("userJson:"+userJson); } /** * Json 转成 Map */ public static void jsonToMap() { String msgJson = "{"age":25,"userName":"李四-25"}"; Map<String, Object> map = JSON.parseObject(msgJson, Map.class); System.out.println("map:"+map); } /** * Json 转成 Object */ public static void jsonToObject() { String msgJson = "{"age":25,"userName":"李四-25"}"; User user = JSON.parseObject(msgJson,User.class); System.out.println("user:"+user); } /** * Json 转成 ObjectList */ public static void jsonToList() { String msgJson = "[{"age":25,"userName":"李四-25"},{"age":26,"userName":"李四-26"}]"; JSONArray array = JSON.parseArray(msgJson); for (int i = 0; i < array.size(); i++){ User user = array.getObject(i,User.class); System.out.println("user:"+user); } } }
运行结果: