中国建设银官方网站,h5网站开发平台,网站建设所需基本资料,深圳出行最新消息fastjson是阿里巴巴的开源JSON解析库#xff0c;它可以解析JSON格式的字符串#xff0c;支持将Java Bean序列化为JSON字符串#xff0c;也可以从JSON字符串反序列化到JavaBean。 fastjson是json的序列化和反序列化
一、添加依赖
dependencygroupIdcom.ali…fastjson是阿里巴巴的开源JSON解析库它可以解析JSON格式的字符串支持将Java Bean序列化为JSON字符串也可以从JSON字符串反序列化到JavaBean。 fastjson是json的序列化和反序列化
一、添加依赖
dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.83/version
/dependency
完整的pom文件如下所示:
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.15/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.example/groupIdartifactIdFastJsonDemo/artifactIdversion0.0.1-SNAPSHOT/versionnameFastJsonDemo/namedescriptionFastJsonDemo/descriptionpropertiesjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.83/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.28/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion2.7.15/version/plugin/plugins/build/project二、创建实体
package com.example.fastjsondemo.model;import lombok.Data;/*** author qx* date 2023/8/29* des*/
Data
public class Student {private Long id;private String name;private Integer age;}package com.example.fastjsondemo.model;import lombok.Data;/*** author qx* date 2023/8/29* des*/
Data
public class School {private String name;private String address;
}三、测试
将对象生成json /*** 将一个对象转成Json*/Testvoid testToJson() {Student student new Student();student.setId(1L);student.setName(qx);student.setAge(20);String json JSONObject.toJSONString(student);// 输出{age:20,id:1,name:qx}System.out.println(json);}
json转对象 /*** json转对象*/Testvoid testToObject() {String data {\age\:20,\id\:1,\name\:\qx\};Student student JSONObject.parseObject(data, Student.class);// 输出Student(id1, nameqx, age20)System.out.println(student);}
根据键获取Json数据中的值 /*** 获取json中的值*/Testvoid testAccessValue() {String data {\age\:20,\id\:1,\name\:\qx\};JSONObject jsonObject JSONObject.parseObject(data);String name jsonObject.getString(name);// 输出qxSystem.out.println(name);int age jsonObject.getIntValue(age);// 输出20System.out.println(age);}
四、实体类中存在其他对象的情况
package com.example.fastjsondemo.model;import lombok.Data;/*** author qx* date 2023/8/29* des*/
Data
public class Student {private Long id;private String name;private Integer age;private School school;}
测试
对象转Json Testvoid testToJson() {Student student new Student();student.setId(1L);student.setName(qx);student.setAge(20);School school new School();school.setName(广西大学);school.setAddress(南宁西乡塘区);student.setSchool(school);String json JSONObject.toJSONString(student);// 输出{age:20,id:1,name:qx,school:{address:南宁西乡塘区,name:广西大学}}System.out.println(json);}
Json转对象 /*** json转对象*/Testvoid testToObject() {String data {\age\:20,\id\:1,\name\:\qx\,\school\:{\address\:\南宁西乡塘区\,\name\:\广西大学\}};Student student JSONObject.parseObject(data, Student.class);// 输出Student(id1, nameqx, age20, schoolSchool(name广西大学, address南宁西乡塘区))System.out.println(student);}
获取Json中的某个值 /*** 获取json中的值*/Testvoid testAccessValue() {String data {\age\:20,\id\:1,\name\:\qx\,\school\:{\address\:\南宁西乡塘区\,\name\:\广西大学\}};JSONObject jsonObject JSONObject.parseObject(data);JSONObject school jsonObject.getJSONObject(school);String name school.getString(name);// 输出 广西大学System.out.println(name);}