java实现json字符串反序列化为泛型对象

2023-07-13  本文已影响0人  追风还是少年

泛型类定义:

    @Data
    public static class PackVO<T> implements Serializable {
        private static final long serialVersionUID = 3668608352984438776L;

        private Code code;

        private T data;
    }

    @Data
    public static class Code implements Serializable {
        private static final long serialVersionUID = 8868612548300695977L;
        private String errcode;
        private String errmsg;
    }

json字符串(String rules):

{
    "code": {
      "errcode": "0",
     "errmsg": "success"
  }
  "data": [
      "$.data.userName"
  ]
}

Fastjson

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

public static void main(){
  PackVO<List<String>> packVO = JSON.parseObject(rules, new   TypeReference<PackVO<List<String>>>(){});
}

Gson

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public static void main(){
  Gson gson = new Gson();
  Type type = new TypeToken<PackVO<List<String>>>(){}.getType()
  PackVO<List<String>> packVO = gson.fromJson(rules,type);
}
上一篇下一篇

猜你喜欢

热点阅读