fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。 fastjson是json的序列化和反序列化。
一、引入依赖
com.alibaba
fastjson
1.2.83
org.projectlombok
lombok
二、创建实体类
package com.example.websocketdemo.bean;
import lombok.Getter;
import lombok.Setter;
/**
* @author qx
* @date 2023/09/02
* @desc 部门实体类
*/
@Getter
@Setter
public class Department {
/**
* 名称
*/
private String name;
/**
* 描述
*/
private String desc;
}
package com.example.websocketdemo.bean;
import lombok.Getter;
import lombok.Setter;
/**
* @author qx
* @date 2023/09/02
* @desc 个人实体类
*/
@Getter
@Setter
public class Person {
/**
* ID
*/
private Long id;
/**
* 姓名
*/
private String name;
/**
* 年龄
*/
private Integer age;
/**
* 所属部门
*/
private Department department;
}
三、常用方法介绍
java对象转Json数据:
方法 |
说明 |
JSONObject.toJSONString(对象) |
将java对象转成String类型的Json数据 |
JSONObject.toJSONBytes() |
将java对象转成字节数组 |
JSONObject.toJSON(对象) |
将java对象转成Object类型的Json数据 |
Json数据转Java对象:
方法 |
说明 |
JSONObject.parse(json) |
将Json数据转成Object类型的Java对象 |
JSONObject.parseArray() |
将Json数据转成Java集合 |
JSONObject.parseObject(json) |
将Json数据转成指定的Java对象 |
四、单元测试
1.简单的生成Json数据和解析Json数据。
package com.example.websocketdemo;
import com.alibaba.fastjson.JSONObject;
import com.example.websocketdemo.bean.Department;
import com.example.websocketdemo.bean.Person;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class WebSocketDemoApplicationTests {
@Test
void contextLoads() {
Department department = new Department();
department.setName("市场部");
department.setDesc("市场部描述");
Person person = new Person();
服务器托管网 person.setId(1L);
person.setName("张三");
person.setAge(20);
person.setDepartment(department);
// Java对象转Json数据
String jsonString = JSONObject.toJSONString(person);
System.out.println(jsonString);
String json = "{"name":"张三","id":2,"department":{"name":"市场部","desc":"市场部描述"},"age":20}";
// json数据转Java对象
Person personData = JSONObject.parseObject(json, Person.class);
System.out.println(personData);
}
}
运行测试类,查看控制台返回。
{"name"服务器托管网:"张三","id":1,"department":{"name":"市场部","desc":"市场部描述"},"age":20}
{"name":"张三","id":1,"department":{"name":"市场部","desc":"市场部描述"},"age":20}
2.获取Json数据的值
@Test
void testGetValue() {
String json = "{"name":"张三","id":2,"department":{"name":"市场部","desc":"市场部描述"},"age":20}";
JSONObject jsonObject = JSONObject.parseObject(json);
String name = jsonObject.getString("name");
// 输出 张三
System.out.println(name);
JSONObject department = jsonObject.getJSONObject("department");
String departmentName = department.getString("name");
// 输出 市场部
System.out.println(departmentName);
}
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: java202304java学习笔记第六十四天-ssm-自定义异常处理器1
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net 机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net相关推荐: 基于.NetCore开发博客项目 StarBlog – (28) 开发友情链…