Java对象与json互转工具 fastjson

前景引入

有时我们想把Java对象直接存储到数据库,或者想将前端传递过来的对象转换为Java对象。如果不想手动转换就可以调用阿里巴巴的fastjson工具进行转换。

依赖 坐标

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>2.0.42</version>
        </dependency>

用法

1. Java对象转化为json

String jsonString = JSONObject.toJSONString(要转换的对象);

2. json转换为Java对象

Student student = JSONObject.parseObject(json,目标Java对象.class);

实体类

package com.xyu.demo1.pojo;

import lombok.*;


@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(of = {"id"})
public class Student {
    @NonNull
    private Integer id;
    private String name;
    private Integer age;
}

测试方法

package com.xyu.demo1;

import com.alibaba.fastjson.JSONObject;
import com.xyu.demo1.pojo.Student;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class MyTest {

    @Test
    void testToJson() {
        Student student = new Student();
        student.setId(1);
        student.setName("李四");
        student.setAge(null);

        // 将student Java对象-> json

        String jsonString = JSONObject.toJSONString(student);
        System.out.println(jsonString);

    }

    @Test
    void testToObject() {
        String jsonString = "{\"id\":2001,\"name\":\"李四\",\"age\":20}";
        Student student = JSONObject.parseObject(jsonString, Student.class);
//        System.out.println(student);
        System.out.println("student = " + student);
    }
}

输出结果

在 testToJson 中 我们创建了一个java对象并初始化一些属性,并用 JSONObject.toJSONString() 方法转换并输出

在testToObject 中创建一个json 转换为Java对象并输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值