当前位置:秒懂库 > IT科技 > java,fastjson
手机版

java,fastjson

来源:秒懂库 阅读:1.82W 次

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

很多朋友都想知道java fastjson是什么?下面就一起来了解一下吧~

1、FastJson的介绍:

JSON(javaScript Object Notation)是一种轻量级的数据交换格式。主要采用键值对({"name": "json"})的方式来保存和表示数据。JSON是JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质上是一个字符串。

JSON的处理器有很多,这里我介绍一下FastJson,FastJson是阿里的开源JSON解析库,可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。是一个极其优秀的Json框架,Github地址: FastJson

java fastjson

2、FastJson的特点:

1.FastJson数度快,无论序列化和反序列化,都是当之无愧的fast 
2.功能强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum) 
3.零依赖(没有依赖其它任何类库)

3、FastJson的用法:

首先定义三个json格式的字符串

//json字符串-简单对象型private static final String  JSON_OBJ_STR = "{"studentName":"lily","studentAge":12}";//json字符串-数组类型private static final String  JSON_ARRAY_STR = "[{"studentName":"lily","studentAge":12},{"studentName":"lucy","studentAge":15}]";//复杂格式json字符串private static final String  COMPLEX_JSON_STR = "{"teacherName":"crystall","teacherAge":27,"course":{"courseName":"english","code":1270},"students":[{"studentName":"lily","studentAge":12},{"studentName":"lucy","studentAge":15}]}";

4、简单javaBean与json对象之间的转换

* 简单JavaBean_obj到json对象的转换 */@Testpublic void testJavaBeanToJSONObject(){    //已知简单JavaBean_obj    Student student = new Student("lily", 12);    //方式一    String jsonString = JSONObject.toJSONString(student);    JSONObject jsonObject = JSONObject.parseObject(jsonString);    System.out.println(jsonObject);    //方式二    JSONObject jsonObject1 = (JSONObject) JSONObject.toJSON(student);    System.out.println(jsonObject1);}/** * 简单json对象到JavaBean_obj的转换 */@Testpublic void testJSONObjectToJavaBean(){    //已知简单json对象    JSONObject jsonObject = JSONObject.parseObject(JSON_OBJ_STR);    //第一种方式,使用TypeReference<T>类,由于其构造方法使用protected进行修饰,故创建其子类    Student student = JSONObject.parseObject(jsonObject.toJSONString(), new TypeReference<Student>() {});    System.out.println(student);    //第二种方式,使用Gson的思想    Student student1 = JSONObject.parseObject(jsonObject.toJSONString(), Student.class);    System.out.println(student1);}

5、JavaList与JsonArray之间的转换

/** * JavaList到JsonArray的转换 */@Testpublic void testJavaListToJsonArray() {    //已知JavaList    Student student = new Student("lily", 12);    Student studenttwo = new Student("lucy", 15);    List<Student> students = new ArrayList<Student>();    students.add(student);    students.add(studenttwo);    //方式一    String jsonString = JSONArray.toJSONString(students);    JSONArray jsonArray = JSONArray.parseArray(jsonString);    System.out.println(jsonArray);    //方式二    JSONArray jsonArray1 = (JSONArray) JSONArray.toJSON(students);    System.out.println(jsonArray1);}/** * JsonArray到JavaList的转换 */@Testpublic void testJsonArrayToJavaList() {    //已知JsonArray    JSONArray jsonArray = JSONArray.parseArray(JSON_ARRAY_STR);    //第一种方式,使用TypeReference<T>类,由于其构造方法使用protected进行修饰,故创建其子类    ArrayList<Student> students = JSONArray.parseObject(jsonArray.toJSONString(),            new TypeReference<ArrayList<Student>>() {});    System.out.println(students);    //第二种方式,使用Gson的思想    List<Student> students1 = JSONArray.parseArray(jsonArray.toJSONString(), Student.class);    System.out.println(students1);}

6、JavaList与JsonArray之间的转换

/** * JavaList到JsonArray的转换 */@Testpublic void testJavaListToJsonArray() {    //已知JavaList    Student student = new Student("lily", 12);    Student studenttwo = new Student("lucy", 15);    List<Student> students = new ArrayList<Student>();    students.add(student);    students.add(studenttwo);    //方式一    String jsonString = JSONArray.toJSONString(students);    JSONArray jsonArray = JSONArray.parseArray(jsonString);    System.out.println(jsonArray);    //方式二    JSONArray jsonArray1 = (JSONArray) JSONArray.toJSON(students);    System.out.println(jsonArray1);}/** * JsonArray到JavaList的转换 */@Testpublic void testJsonArrayToJavaList() {    //已知JsonArray    JSONArray jsonArray = JSONArray.parseArray(JSON_ARRAY_STR);    //第一种方式,使用TypeReference<T>类,由于其构造方法使用protected进行修饰,故创建其子类    ArrayList<Student> students = JSONArray.parseObject(jsonArray.toJSONString(),            new TypeReference<ArrayList<Student>>() {});    System.out.println(students);    //第二种方式,使用Gson的思想    List<Student> students1 = JSONArray.parseArray(jsonArray.toJSONString(), Student.class);    System.out.println(students1);}

7、复杂JavaBean_obj与json对象之间的转换/**

* 复杂JavaBean_obj到json对象的转换 */@Testpublic void testComplexJavaBeanToJSONObject() {    //已知复杂JavaBean_obj    Student student = new Student("lily", 12);    Student studenttwo = new Student("lucy", 15);    List<Student> students = new ArrayList<Student>();    students.add(student);    students.add(studenttwo);    Course course = new Course("english", 1270);    Teacher teacher = new Teacher("crystall", 27, course, students);    //方式一    String jsonString = JSONObject.toJSONString(teacher);    JSONObject jsonObject = JSONObject.parseObject(jsonString);    System.out.println(jsonObject);    //方式二    JSONObject jsonObject1 = (JSONObject) JSONObject.toJSON(teacher);    System.out.println(jsonObject1);}/** * 复杂json对象到JavaBean_obj的转换 */@Testpublic void testComplexJSONObjectToJavaBean() {    //已知复杂json对象    JSONObject jsonObject = JSONObject.parseObject(COMPLEX_JSON_STR);    //第一种方式,使用TypeReference<T>类,由于其构造方法使用protected进行修饰,故创建其子类    Teacher teacher = JSONObject.parseObject(jsonObject.toJSONString(), new TypeReference<Teacher>() {});    System.out.println(teacher);    //第二种方式,使用Gson的思想    Teacher teacher1 = JSONObject.parseObject(jsonObject.toJSONString(), Teacher.class);    System.out.println(teacher1);}

总结

// 把JSON文本parse为JSONObject或者JSONArray        public static final Object parse(String text);          // 把JSON文本parse成JSONObject        public static final JSONObject parseObject(String text);        // 把JSON文本parse为JavaBean        public static final <T> T parseObject(String text, Class<T> clazz);         // 把JSON文本parse成JSONArray        public static final JSONArray parseArray(String text);         //把JSON文本parse成JavaBean集合        public static final <T> List<T> parseArray(String text, Class<T> clazz);             // 将JavaBean序列化为JSON文本        public static final String toJSONString(Object object);               // 将JavaBean序列化为带格式的JSON文本        public static final String toJSONString(Object object, boolean prettyFormat);         //将JavaBean转换为JSONObject或者JSONArray。        public static final Object toJSON(Object javaObject);

本文链接:https://www.miaodongku.com/itkj/03k1xq.html

Copyright © 2024. 秒懂库 All right reserved. 黑ICP备20202358号-2

文字美图素材,版权属于原作者。部分文章内容由网友提供推送时因种种原因未能与原作者联系上,若涉及版权问题,敬请原作者联系我们,立即处理。