目录
一、集合转字符串
二、字符串转集合
三、对象转字符串
四、字符串转对象
五、对象转JSONObject
六、字符串转JSONObject
七、JSONObject和JSONArray操作
1.获取单个值
2.获取对象
3.获取集合
一、集合转字符串
package com.saas.demo;
import cn.hutool.json.JSONUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* list转string
*/
public class HutoolDemo {
public static void main(String[] args) {
List<Student> studentList = new ArrayList<Student>();
studentList.add(new Student("小明",23));
studentList.add(new Student("小红",24));
studentList.add(new Student("小兰",22));
//将集合转换成字符串
String jsonStr = JSONUtil.toJsonStr(studentList);
System.out.println("value:"+jsonStr);
}
}
@Data
@AllArgsConstructor
class Student {
//姓名
private String name;
//年龄
private Integer age;
}
二、字符串转集合
package com.saas.demo;
import cn.hutool.json.JSONUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* string转list
*/
public class HutoolDemo {
public static void main(String[] args) {
List<Student> studentList = new ArrayList<Student>();
studentList.add(new Student("小明",23));
studentList.add(new Student("小红",24));
studentList.add(new Student("小兰",22));
//将集合转换成字符串
String jsonStr = JSONUtil.toJsonStr(studentList);
System.out.println("value:"+jsonStr);
System.out.println("------------------------------------------------");
//将字符串转换成集合
List<Student> newStudentList = JSONUtil.toList(jsonStr,Student.class);
System.out.println("value:"+newStudentList);
}
}
@Data
@AllArgsConstructor
class Student {
//姓名
private String name;
//年龄
private Integer age;
}
三、对象转字符串
package com.saas.demo;
import cn.hutool.json.JSONUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
/**
* object转string
*/
public class HutoolDemo {
public static void main(String[] args) {
Student student = new Student("小明",23);
//将对象转换成字符串
String jsonStr = JSONUtil.toJsonStr(student);
System.out.println("value:"+jsonStr);
}
}
@Data
@AllArgsConstructor
class Student {
//姓名
private String name;
//年龄
private Integer age;
}
四、字符串转对象
package com.saas.demo;
import cn.hutool.json.JSONUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
/**
* string转object
*/
public class HutoolDemo {
public static void main(String[] args) {
Student student = new Student("小明",23);
//将对象转换成字符串
String jsonStr = JSONUtil.toJsonStr(student);
System.out.println("value:"+jsonStr);
System.out.println("------------------------------------------------");
//将字符串转换成对象
Student newStudent = JSONUtil.toBean(jsonStr, Student.class);
System.out.println("value:"+newStudent);
}
}
@Data
@AllArgsConstructor
class Student {
//姓名
private String name;
//年龄
private Integer age;
}
五、对象转JSONObject
package com.saas.demo;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* object转jsonobject
*/
public class HutoolDemo {
public static void main(String[] args) {
//模拟数据,一个学生归属一个班级,一个学生有多位老师
Classes classes = new Classes("小学二年级",30);
List<Teacher> teacherList = new ArrayList<>();
for(int i=1;i<3;i++){
teacherList.add(new Teacher("老师"+i,30+i));
}
Student student = new Student("小明",23,classes,teacherList);
//将对象转换成JSONObject
JSONObject jsonObject = JSONUtil.parseObj(student);
System.out.println("value:"+jsonObject);
}
}
@Data
@AllArgsConstructor
class Student {
//姓名
private String name;
//年龄
private Integer age;
//班级
private Classes classes;
//老师集合
private List<Teacher> teacherList;
}
@Data
@AllArgsConstructor
class Classes {
//名称
private String name;
//学生数量
private Integer studentCount;
}
@Data
@AllArgsConstructor
class Teacher {
//姓名
private String name;
//年龄
private Integer age;
}
六、字符串转JSONObject
package com.saas.demo;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* string转jsonobject
*/
public class HutoolDemo {
public static void main(String[] args) {
//模拟数据,一个学生归属一个班级,一个学生有多位老师
Classes classes = new Classes("小学二年级",30);
List<Teacher> teacherList = new ArrayList<>();
for(int i=1;i<3;i++){
teacherList.add(new Teacher("老师"+i,30+i));
}
Student student = new Student("小明",23,classes,teacherList);
//将对象转String
String jsonStr = JSONUtil.toJsonStr(student);
System.out.println("value:"+jsonStr);
System.out.println("------------------------------------------------");
//将对象转换成JSONObject
JSONObject jsonObject = JSONUtil.parseObj(jsonStr);
System.out.println("value:"+jsonObject);
}
}
@Data
@AllArgsConstructor
class Student {
//姓名
private String name;
//年龄
private Integer age;
//班级
private Classes classes;
//老师集合
private List<Teacher> teacherList;
}
@Data
@AllArgsConstructor
class Classes {
//名称
private String name;
//学生数量
private Integer studentCount;
}
@Data
@AllArgsConstructor
class Teacher {
//姓名
private String name;
//年龄
private Integer age;
}
七、JSONObject和JSONArray操作
1.获取单个值
package com.saas.demo;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* jsonobject操作
*/
public class HutoolDemo {
public static void main(String[] args) {
//模拟数据,一个学生归属一个班级,一个学生有多位老师
Classes classes = new Classes("小学二年级",30);
List<Teacher> teacherList = new ArrayList<>();
for(int i=1;i<3;i++){
teacherList.add(new Teacher("老师"+i,30+i));
}
Student student = new Student("小明",23,classes,teacherList);
System.out.println("------------------------------------------------");
//将对象转换成JSONObject
JSONObject jsonObject = JSONUtil.parseObj(student);
System.out.println("value:"+jsonObject);
System.out.println("------------------------------------------------");
//获取单个值
String studentName = jsonObject.getStr("name");
System.out.println("value:"+studentName);
}
}
@Data
@AllArgsConstructor
class Student {
//姓名
private String name;
//年龄
private Integer age;
//班级
private Classes classes;
//老师集合
private List<Teacher> teacherList;
}
@Data
@AllArgsConstructor
class Classes {
//名称
private String name;
//学生数量
private Integer studentCount;
}
@Data
@AllArgsConstructor
class Teacher {
//姓名
private String name;
//年龄
private Integer age;
}
2.获取对象
package com.saas.demo;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* jsonobject操作
*/
public class HutoolDemo {
public static void main(String[] args) {
//模拟数据,一个学生归属一个班级,一个学生有多位老师
Classes classes = new Classes("小学二年级",30);
List<Teacher> teacherList = new ArrayList<>();
for(int i=1;i<3;i++){
teacherList.add(new Teacher("老师"+i,30+i));
}
Student student = new Student("小明",23,classes,teacherList);
System.out.println("------------------------------------------------");
//将对象转换成JSONObject
JSONObject jsonObject = JSONUtil.parseObj(student);
System.out.println("value:"+jsonObject);
System.out.println("------------------------------------------------");
//获取对象 方式一
Classes newClasses = jsonObject.get("classes",Classes.class);
System.out.println("value:"+newClasses);
System.out.println("------------------------------------------------");
//获取对象 方式二
JSONObject classesJson = jsonObject.getJSONObject("classes");
System.out.println("value:"+classesJson);
}
}
@Data
@AllArgsConstructor
class Student {
//姓名
private String name;
//年龄
private Integer age;
//班级
private Classes classes;
//老师集合
private List<Teacher> teacherList;
}
@Data
@AllArgsConstructor
class Classes {
//名称
private String name;
//学生数量
private Integer studentCount;
}
@Data
@AllArgsConstructor
class Teacher {
//姓名
private String name;
//年龄
private Integer age;
}
3.获取集合
package com.saas.demo;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* jsonobject操作
*/
public class HutoolDemo {
public static void main(String[] args) {
//模拟数据,一个学生归属一个班级,一个学生有多位老师
Classes classes = new Classes("小学二年级",30);
List<Teacher> teacherList = new ArrayList<>();
for(int i=1;i<3;i++){
teacherList.add(new Teacher("老师"+i,30+i));
}
Student student = new Student("小明",23,classes,teacherList);
System.out.println("------------------------------------------------");
//将对象转换成JSONObject
JSONObject jsonObject = JSONUtil.parseObj(student);
System.out.println("value:"+jsonObject);
System.out.println("------------------------------------------------");
//获取集合 方式一
List<Teacher> newTeacherList = jsonObject.get("teacherList",List.class);
System.out.println("value:"+newTeacherList);
System.out.println("------------------------------------------------");
//获取集合 方式二
JSONArray classesJsonArray = jsonObject.getJSONArray("teacherList");
System.out.println("value:"+classesJsonArray);
for(int j=0; j< classesJsonArray.size(); j++){
JSONObject json = classesJsonArray.getJSONObject(j);
String name = json.getStr("name");
Integer age = json.getInt("age");
System.out.println("name:"+name + " age:"+age);
}
}
}
@Data
@AllArgsConstructor
class Student {
//姓名
private String name;
//年龄
private Integer age;
//班级
private Classes classes;
//老师集合
private List<Teacher> teacherList;
}
@Data
@AllArgsConstructor
class Classes {
//名称
private String name;
//学生数量
private Integer studentCount;
}
@Data
@AllArgsConstructor
class Teacher {
//姓名
private String name;
//年龄
private Integer age;
}