- pom.xml
<!--创建springboot项目--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.80</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
-
Object与Json互转
package com.my.pojo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor public class User { private String name; private String password; private int age; }
@RestController public class FastJson_01 { @RequestMapping("/parse") public String parseObj(){ User user3=new User(); user3.setName("王五"); user3.setAge(13); user3.setPassword("1232we"); String json=JSON.toJSONString(user3); User user=JSON.parseObject(json,User.class); System.out.println(user); return user.toString(); } }
-
User类
-
controller层,创建一个FastJson_01类,并创建测试方法
-
效果图:
-
JSON.toJSONString-->转化为json字符串
-
JSON.parseObject-->转化为java对象
-
-
List与Json互转
-
在FastJson_01类,创建方法
public static List<User> users(){ List<User> users=new ArrayList<>(); User user1=new User(); user1.setName("张三"); user1.setAge(19); user1.setPassword("123456"); users.add(user1); User user2=new User(); user2.setName("王二"); user2.setAge(13); user2.setPassword("1aa4we"); users.add(user2); User user3=new User(); user3.setName("王五"); user3.setAge(13); user3.setPassword("1232we"); users.add(user3); User user4=new User(); user4.setName("无意"); user4.setAge(13); user4.setPassword("1234we"); users.add(user4); return users; } public static String objectToJson(){ List<User> list=FastJson_01.users(); //将对象转化为json String jsonStr= JSON.toJSONString(list); return jsonStr; }
-
在FastJson_01类,创建测试方法
@RequestMapping("/json1") public String objectToJson1(){ List<User> list=FastJson_01.users(); //将对象转化为json String jsonStr= JSON.toJSONString(list); return jsonStr; } @RequestMapping("/json2") public List<User> JsonToObject(){ String str=FastJson_01.objectToJson(); List<User> users=JSON.parseArray(str,User.class); for (User user:users) { System.out.println(user.getName()); } return users; }
-
效果图:
-
JSON.parseArray转化为数组
-
-
date与json转化
-
在FastJson_01类,创建测试方法
@RequestMapping("/date") public String dateToJson(){ Date date=new Date(); String str=JSON.toJSONStringWithDateFormat(date,"yyyy-MM-dd"); System.out.println(str); return str; } @RequestMapping("/date1") public Date jsonToDate(){ String string = "2014-3-17"; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date date = null; try { date = dateFormat.parse(string); System.out.println(date.toLocaleString().split(" ")[0]);//切割掉不要的时分秒数据 } catch (ParseException e) { e.printStackTrace(); } return date; }
-
效果图:
-
JSON.toJSONStringWithDateFormat,将时间转化为字符串
-
-
map与json互转
-
在FastJson_01类,创建测试方法
@RequestMapping("/map") public String mapToJson(){ Map<Integer,String> map=new HashMap<>(); map.put(2,"nini"); map.put(3,"lplp"); map.put(4,"huhu"); String str=JSON.toJSONString(map); System.out.println(str); Map<Integer,String> o=(Map<Integer,String>)JSON.parse(str); for (String sr:o.values()) { System.out.println(sr); } return str; }
-
效果图:
-
(Map<Integer,String>)JSON.parse(str),将字符转化后强转。
-
总结fastjson常用一些方法:
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合 public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。
-