写点什么

Json 的 FastJson 与 Jackson,java 阻塞队列原理

  • 2021 年 11 月 10 日
  • 本文字数:4577 字

    阅读完需:约 15 分钟

*/


@Test


public void testJSONObjectToJSONStr() {


//已知 JSONObject,目标要转换为 json 字符串


JSONObject jsonObject = JSONObject.parseObject(JSON_OBJ_STR);


// 第一种方式


String jsonString = JSONObject.toJSONString(jsonObject);


// 第二种方式


//String jsonString = jsonObject.toJSONString();


System.out.println(jsonString);


}


  1. json 字符串(数组类型)与 JSONArray 之间的转换


/**


  • json 字符串-数组类型到 JSONArray 的转换


*/


@Test


public void testJSONStrToJSONArray() {


JSONArray jsonArray = JSONArray.parseArray(JSON_ARRAY_STR);


//遍历方式 1


int size = jsonArray.size();


for (int i = 0; i < size; i++) {


JSONObject jsonObject = jsonArray.getJSONObject(i);


System.out.println("studentName: " + jsonObject.getString("studentName") + ":" + " studentAge: "


  • jsonObject.getInteger("studentAge"));


}


//遍历方式 2


for (Object obj : jsonArray) {


JSONObject jsonObject = (JSONObject) obj;


System.out.println("studentName: " + jsonObject.getString("studentName") + ":" + " studentAge: "


  • jsonObject.getInteger("studentAge"));


}


}


/**


  • JSONArray 到 json 字符串-数组类型的转换


*/


@Test


public void testJSONArrayToJSONStr() {


//已知 JSONArray,目标要转换为 json 字符串


JSONArray jsonArray = JSONArray.parseArray(JSON_ARRAY_STR);


//第一种方式


String jsonString = JSONArray.toJSONString(jsonArray);


// 第二种方式


//String jsonString = jsonArray.toJSONString(jsonArray);


System.out.println(jsonString);


}


  1. 复杂 json 格式字符串与 JSONObject 之间的转换


/**


  • 复杂 json 格式字符串到 JSONObject 的转换


*/


@Test


public void testComplexJSONStrToJSONObject() {


JSONObject jsonObject = JSONObject.parseObject(COMPLEX_JSON_STR);


String teacherName = jsonObject.getString("teacherName");


Integer teacherAge = jsonObject.getInteger("teacherAge");


System.out.println("teacherName: " + teacherName + " teacherAge: " + teacherAge);


JSONObject jsonObjectcourse = jsonObject.getJSONObject("course");


//获取 JSONObject 中的数据


String courseName = jsonObjectcourse.getString("courseName");


Integer code = jsonObjectcourse.getInteger("code");


System.out.println("courseName: " + courseName + " code: " + code);


JSONArray jsonArraystudents = jsonObject.getJSONArray("students");


//遍历 JSONArray


for (Object object : jsonArraystudents) {


JSONObject jsonObjectone = (JSONObject) object;


String studentName = jsonObjectone.getString("studentName");


Integer studentAge = jsonObjectone.getInteger("studentAge");


System.out.println("studentName: " + studentName + " studentAge: " + studentAge);


}


}


/**


  • 复杂 JSONObject 到 json 格式字符串的转换


*/


@Test


public void testJSONObjectToComplexJSONStr() {


//复杂 JSONObject,目标要转换为 json 字符串


JSONObject jsonObject = JSONObject.parseObject(COMPLEX_JSON_STR);


//第一种方式


//String jsonString = JSONObject.toJSONString(jsonObject);


//第二种方式


String jsonString = jsonObject.toJSONString();


System.out.println(jsonString);


}

JSON 格式字符串与 javaBean 之间的转换

  1. json 字符串-简单对象型与 javaBean 之间的转换


/**


  • json 字符串-简单对象到 JavaBean 之间的转换


*/


@Test


public void testJSONStrToJavaBeanObj() {


//第一种方式


JSONObject jsonObject = JSONObject.parseObject(JSON_OBJ_STR);


String studentName = jsonObject.getString("studentName");


Integer studentAge = jsonObject.getInteger("studentAge");


//Student student = new Student(studentName, studentAge);


//第二种方式,使用 TypeReference<T>类,由于其构造方法使用 protected 进行修饰,故创建其子类


//Student student = JSONObject.parseObject(JSON_OBJ_STR, new TypeReference<Student>() {});


//第三种方式,使用 Gson 的思想


Student student = JSONObject.parseObject(JSON_OBJ_STR, Student.class);


System.out.println(student);


}


/**


  • JavaBean 到 json 字符串-简单对象的转换


*/


@Test


public void testJavaBeanObjToJSONStr() {


Student student = new Student("lily", 12);


String jsonString = JSONObject.toJSONString(student);


System.out.println(jsonString);


}


  1. json 字符串-数组类型与 javaBean 之间的转换


/**


  • json 字符串-数组类型到 JavaBean_List 的转换


*/


@Test


public void testJSONStrToJavaBeanList() {


//第一种方式


JSONArray jsonArray = JSONArray.parseArray(JSON_ARRAY_STR);


//遍历 JSONArray


List<Student> students = new ArrayList<Student>();


Student student = null;


for (Object object : jsonArray) {


JSONObject jsonObjectone = (JSONObject) object;


String studentName = jsonObjectone.getString("studentName");


Integer studentAge = jsonObjectone.getInteger("studentAge");


student = new Student(studentName,studentAge);


students.add(student);


}


System.out.println("students: " + students);


//第二种方式,使用 TypeReference<T>类,由于其构造方法使用 protected 进行修饰,故创建其子类


List<Student> studentList = JSONArray.parseObject(JSON_ARRAY_STR, new TypeReference<ArrayList<Student>>() {});


System.out.println("studentList: " + studentList);


//第三种方式,使用 Gson 的思想


List<Student> studentList1 = JSONArray.parseArray(JSON_ARRAY_STR, Student.class);


System.out.println("studentList1: " + studentList1);


}


/**


  • JavaBean_List 到 json 字符串-数组类型的转换


*/


@Test


public void testJavaBeanListToJSONStr() {


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);


System.out.println(jsonString);


}


  1. 复杂 json 格式字符串与与 javaBean 之间的转换


/**


  • 复杂 json 格式字符串到 JavaBean_obj 的转换


*/


@Test


public void testComplexJSONStrToJavaBean(){


//第一种方式,使用 TypeReference<T>类,由于其构造方法使用 protected 进行修饰,故创建其子类


Teacher teacher = JSONObject.parseObject(COMPLEX_JSON_STR, new TypeReference<Teacher>() {});


System.out.println(teacher);


//第二种方式,使用 Gson 思想


Teacher teacher1 = JSONObject.parseObject(COMPLEX_JSON_STR, Teacher.class);


System.out.println(teacher1);


}


/**


  • 复杂 JavaBean_obj 到 json 格式字符串的转换


*/


@Test


public void testJavaBeanToComplexJSONStr(){


//已知复杂 JavaBean_obj


Teacher teacher = JSONObject.parseObject(COMPLEX_JSON_STR, new TypeReference<Teacher>() {});


String jsonString = JSONObject.toJSONString(teacher);


System.out.println(jsonString);


}

javaBean 与 json 对象间的之间的转换

  1. 简单 javaBean 与 json 对象之间的转换


/**


  • 简单 JavaBean_obj 到 json 对象的转换


*/


@Test


public 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 的转换


*/


@Test


public 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);


}


  1. JavaList 与 JsonArray 之间的转换


/**


  • JavaList 到 JsonArray 的转换


*/


@Test


public 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 的转换


*/


@Test


public 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);


}


  1. 复杂 JavaBean_obj 与 json 对象之间的转换


/**


  • 复杂 JavaBean_obj 到 json 对象的转换


*/


@Test


public void testComplexJavaBeanToJSONObject() {


//已知复杂 JavaBean_obj


Student student = new Student("lily", 12);


Student studenttwo = new Student("lucy", 15);


List<Student> students = new ArrayList


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


<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 的转换


*/


@Test


public 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的FastJson与Jackson,java阻塞队列原理