fastjson的常见使用
1、引入maven
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency>
2、自己定义一个java对象
package com.wu; /** * @Auther: wuyilong * @Date: 2019/4/29 10:20 * @Description: */ public class UserInfo { String name; int age; String sex; public UserInfo() { } public UserInfo(String name, int age, String sex) { this.name = name; this.age = age; this.sex = sex; } public UserInfo(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } @Override public String toString() { return "UserInfo{" + "name='" + name + '\'' + ", age=" + age + ", sex='" + sex + '\'' + '}'; } }
3、常见的用法
****************************************** Jva对象、字符串,Json字符串,Json对象 ****************************************** ============================================================================================= java对象->json字符串 UserInfo info = new UserInfo("马", 30, "男"); String json_str = JSON.toJSONString(info); System.out.println(json_str); ============================================================================================= java list对象->json字符串 List<UserInfo> list = new ArrayList<>(); list.add(new UserInfo("name01", 10, "男")); list.add(new UserInfo("name02", 20, "男")); String json_str = JSON.toJSONString(list); System.out.println(json_str); ============================================================================================= json字符串->java对象 UserInfo info = new UserInfo("马", 30, "男"); String json_str = JSON.toJSONString(info); UserInfo u = JSON.parseObject(json_str, UserInfo.class); System.out.println(u.toString()); ============================================================================================= 日期格式化 Date date = new Date(); System.out.println("输出毫秒数:" + JSON.toJSONString(date)); System.out.println("默认的格式:" + JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat)); System.out.println("自定义日期:" + JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd", SerializerFeature.WriteDateUseDateFormat)); ============================================================================================= 字符串->JSON数据 public static void string2Json(){ StringBuffer buffer=new StringBuffer(); buffer.append("{"); buffer.append("\"age\":").append("27").append(","); buffer.append("\"userName\":").append("\"龙叔\"").append(","); buffer.append("\"address\":").append("\"广东省云浮市\""); buffer.append("}"); String jsonText=buffer.toString(); JSONObject jobj=JSON.parseObject(jsonText); String address=jobj.get("address").toString(); System.out.println(address); } ============================================================================================= 字符串->对象 public static void string2Object(){ StringBuffer buffer=new StringBuffer(); buffer.append("{"); buffer.append("\"age\":").append("27").append(","); buffer.append("\"userName\":").append("\"龙叔\"").append(","); buffer.append("\"address\":").append("\"广东省云浮市\""); buffer.append("}"); String jsonText=buffer.toString(); //方法一 把json字符串转成Student对象 Student stu1 = JSON.parseObject(jsonText, new TypeReference<Student>(){}); //方法二 把json字符串转成Student对象 Student stu2 = JSON.parseObject(jsonText, Student.class); System.out.println(stu1.getAddress()); System.out.println(stu2.getAddress()); } ============================================================================================= 字符串->泛型数组 public static void string2List(){ StringBuffer buffer=new StringBuffer(); buffer.append("[{"); buffer.append("\"age\":").append("27").append(","); buffer.append("\"userName\":").append("\"龙叔\"").append(","); buffer.append("\"address\":").append("\"广东省云浮市\""); buffer.append("}]"); String jsonText=buffer.toString(); //转成成数组 Student[] stu2 = JSON.parseObject(jsonText,new TypeReference<Student[]>(){}); List<Student> list = Arrays.asList(stu2); for(Student st:list){ System.out.println(st.getAddress()); } // 转换成ArrayList ArrayList<Student> list2 = JSON.parseObject(jsonText, new TypeReference<ArrayList<Student>>(){}); for (int i = 0; i < list2.size(); i++) { Student obj =(Student) list2.get(i); System.out.println(obj.getAddress()); } } ============================================================================================= Map->字符串 public static void map2json(){ //创建一个Map对象 Map<String,String> map = new HashMap<String, String>(); map.put("username", "周伯通"); map.put("address", "广东省仙游谷"); map.put("age", "198"); String json = JSON.toJSONString(map,true); //转成JSON数据 Map<String,String> map1 = (Map<String,String>)JSON.parse(json); //遍历数组数据 for (String key : map1.keySet()) { System.out.println(key+":"+map1.get(key)); } }
积沙成塔