四时宝库

程序员的知识宝库

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

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))

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

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


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

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接