Java 使用fastjson将json字符串转为泛型对象

createh55个月前 (01-13)技术教程79

1、pom.xml引入fastjson依赖

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

2、定义泛型类

ApiReponse.java

import lombok.Data;

@Data
public class ApiResponse<T> {
    private String code;
    private String message;
    private String timestamp;
    private T result;
}

UserResult.java

import lombok.Data;

@Data
public class UserResult {
    private String userId;
    private String username;
    private String nickName;
}

3、使用JSON.parseObject方法进行转换

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;

import com.baige.model.UserResult;
import com.baige.model.ApiResponse;

public class Application {
    public static void main(String[] args) {
        String jsonStr = "{ \"code\": 200, \"message\": \"操作成功\", \"timestamp\": \"1593412914189\", \"result\": {\"userId\": \"2301\", \"username\": \"测试员\", \"nickName\": null}}";
        ApiResponse<UserResult> response = JSON.parseObject(jsonStr, new TypeReference<ApiResponse<UserResult>>(){});
        System.out.println(response);
    }
}

4、测试结果

ApiResponse(code=200, message=操作成功, timestamp=1593412914189, result=UserResult(userId=2301, username=测试员, nickName=null))

路漫漫其修远兮,吾将上下而求索

译文:在追寻真理方面,前方的道路还很漫长,但我将百折不挠,不遗余力地去追求和探索。


如果您有什么好的想法与方法,欢迎评论区留言,我们一起讨论~

相关文章

idea插件开发,写Java代码时中文字符替换为英文字符的多种方法

大部分编程语言写代码的时候,不能出现中文标点符号,必须使用英文的标点符号,但是写代码的过程中,很多时候是需要写中文注释的,这样来回切换输入法呢,有点繁琐,有时候不小心忘记切换,就写错了,有的编辑器比较...

Java枚举你真的会用吗

概述Java中枚举,大家在项目中经常使用吧,主要用来定义一些固定值,在一个有限的集合内,比如在表示一周的某一天,一年中的四季等。那你了解枚举的本质吗?了解枚举的一些常见用法吗?枚举介绍和使用枚举主要用...

Java设置字符串的首字母为大写

概述Java 标准库提供了 String.toUpperCase() 方法,它允许我们将字符串中的所有字母转换为大写。在本文中,我们将学习如何将给定字符串的第一个字符仅转换为大写。 问题介绍一个例子可...

Java时间格式字符串与Date的相互转化

一、将Date转化为格式化字符串将Date转化为格式化字符串是利用SimpleDateFormat类继承自 java.text.DateFormat类的format方法实现的:public final...

面试题:为什么JDK9要将String的底层实现由char[]改为byte[]?

在 JDK 9 中,并没有直接将String的底层实现由char[]改为byte[],而是引入了 Compact Strings 的优化。节省内存空间字符编码考虑在 Java 中,char类型占用 2...

Java 从底层与接口实现了解String、StringBuffer、StringBuilder

String、StringBuffer 和 StringBuilder的接口实现关系:String:字符串常量,字符串长度不可变。Java中String 是immutable(不可变)的。用于存放字符...