首页 > 其他分享 >Gson 对对象下的数组进行转换

Gson 对对象下的数组进行转换

时间:2023-04-27 17:37:08浏览次数:52  
标签:转换 供电 gson powerUnitId json result 数组 Gson powerUnitName

现有一个json数据

{
        "result":[
            {
                "powerUnitId":1,
                "powerUnitName":"供电单位1"
            },
            {
                "powerUnitId":2,
                "powerUnitName":"供电单位2"
            }
        ]
    }

这个是从服务器里面获取到的数据,但是数据返回result字段对应的类型是动态的,目前返回的是数组

针对此需求:

设计了两个个对象:Response、Result

public class Response<T> {
    private T result;
    /// getter setter
}
public class Result {
   private int powerUnitId;
   private String powerUnitName;
  /// getter setter
}

转换方法:

gson

依赖:

 <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.5</version>
</dependency>

代码:

String json = "{\"result\":[{\"powerUnitId\":1,\"powerUnitName\":\"供电单位1\"},{\"powerUnitId\":2,\"powerUnitName\":\"供电单位2\"}]}";
Gson gson = new Gson();
Type founderListType = new TypeToken<Response<ArrayList<Result>>>(){}.getType();
Response<Result> o = gson.fromJson(json, founderListType);

 fastjson

依赖:

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

代码:

String json = "{\"result\":[{\"powerUnitId\":1,\"powerUnitName\":\"供电单位1\"},{\"powerUnitId\":2,\"powerUnitName\":\"供电单位2\"}]}";
Response json1 = JSON.parseObject(json, new TypeReference<Response<List<Result>>>(){});

 

标签:转换,供电,gson,powerUnitId,json,result,数组,Gson,powerUnitName
From: https://www.cnblogs.com/u1w2/p/17359539.html

相关文章

  • Java实现Unicode和中文相互转换
     Java中Unicode和中文相互转换1.什么是Unicode编码?2.中文加密[中文字符->Unicode字符]3.Unicode解码[Unicode字符->中文字符]4.测试案例1.什么是Unicode编码?快速了解什么是Unicode 2.中文加密[中文字符->Unicode字符] /***@Title:unicodeEncode......
  • asp.net 绑定数组数据到下拉列表,绑定数组到DropDownList,数据绑定
    前台代码:<asp:DropDownListID="ddlHPZL"runat="server"Width="130px"></asp:DropDownList>后台代码:#region绑定号牌号码string[]iniHPHM=newstring[];iniHPHM=["辽P,京A,京B,吉C,黑D,云E,蒙F,"]......
  • asp.net com,未能转换为类型库。类型库导出程序在处理,时遇到了错误。错误: 找不到元
    我把[assembly:ComVisible(true)]这个设置为true,就报下边的错误错误:程序集“D:\MyDocuments\VisualStudio2005\Projects\ClientOperation\active\bin\Debug\active.dll”未能转换为类型库。类型库导出程序在处理“active.myControl,active”时遇到......
  • c# winform 把彩色图片转换为灰色的图片,变灰,灰度图片,速度很快,safe,unsafe
    把彩色图片转换为灰色的图片,直接用.net接口遍历每个像素点转换的效率非常低,800K的图片65万像素我的电脑要用5分钟,而用了unsafe,速度提高了几千倍,同样的图片只用了0.几秒附一个常用的遍历像素点转换的代码构造函数publicTphc(){ InitializeCompon......
  • 转换tif到jpg
    1importos,sys2importcv23importnumpyasnp4fromskimageimportio#使用IO库读取tif图片567deftif_jpg_transform(file_path_name,bgr_savepath_name):8img=io.imread(file_path_name)#读取文件名9img=img/img.max()#使其所有值......
  • 1 数组和切片、2 可变长参数 、3 maps
    目录1数组和切片1.1数组1.2切片2可变长参数3maps1数组和切片1.1数组#1定义,初始化,使用#2数组是值类型 -数字,字符串,布尔,数组,都是值类型,真正直接存数据-切片,map,指针引用类型,是个地址,指向了具体的值#3数组长度#4循环打印数组#5多纬数组#6数组......
  • JS 数组方法
    一、创建数组1、使用数组字面量表示法vararr=[];//创建一个空数组vararr1=[1];//创建一个包含1项数据为1的数组vararr2=['a','b','c'];//创建一个包含3个字符串的数组2、使用Array构造函数vararr1newArray();//创建一个空数组vararr2=newArray(......
  • zip函数组装字典和列表
    zip:字面意思就是打包的意思,目的也是打包组装列表:defget_dict(a:list,b:list):d=list(zip(a,b))returndif__name__=='__main__':#print(time_specific())list1=[1,2,3]list2=[4,5,6]print(get_dict(list1,list2))结果:D:\Pyth......
  • JSON数据和JAVA对象之间的转换
    转:https://blog.csdn.net/qq_39975542/article/details/123947872方法1:利用阿里巴巴开源的fastjson包进行JAVA对象和JSON字符串进行转换。C++中的结构体在JAVA中用对象表示,目录结构如下: Peron类内容如下,对应C++中的Person结构体:packagecom.company;publicclassPerson{......
  • js 获取对象的key value,放到数组对象中
    letarr=[];if(res.data&&res.data.havePowerComCodes){for(const[key,value]ofObject.entries(res.data.havePowerComCodes)){constobj={......