java 数组字符串转数组,list集合(带泛型),二维数组,或者二维数组集合(带泛型)

本文介绍了如何将前端传递的二维数组字符串转换为Java的二维数组和List集合,包括使用JSON.parseObject方法处理混合类型的对象数组,以及针对泛型类型的转换技巧。
摘要由CSDN通过智能技术生成

java 数组字符串转数组,list集合(带泛型),二维数组,或者二维数组集合(带泛型)

今天前端传递过来一个二维数组类型的字符串,我需要把它每个字段导出到excel表中,那我就需要给他转换成二维数组或者list集合

1,转换成二维数组

这是传递过来的二维数组类型的字符串

"[[
			"1",
			"流动资产",
			null,
			"57",
			"流动负债",
			null
		],
		[
			"2",
			"流动资产合计",
			3232323,
			"58",
			"流动负债合计",
			343432323
		],
		[
			"3",
			"货币资金",
			3232222323,
			"59",
			"短期借款",
			null
		]]"

进行转换:

String data = "[["1",	"流动资产",	null,"57","流动负债",null],["2","流动资产合计"	3232323,"58","流动负债合计",343432323],["3","货币资金",3232222323,"59","短期借款",null]]";
//进行转换(这个data里面有子字符串也有数值,所以类型只能用Object,如果你的字符串里全是int类型,那就用Integer)
Object[][] data = JSON.parseObject(textfile,Object[][].class);

现在就是二维数组了,

注:如果是一维数组类型的字符串要转换成一维数组,也是用这个方法

String data = "["1","流动资产",	23,"57","流动负债",null]";
//进行转换(这个data里面有子字符串也有数值,所以类型只能用Object,如果你的字符串里全是int类型,那就用Integer)
Object[] data = JSON.parseObject(textfile,Object[].class);

2,转换成二维list集合

在使用时,如果需要转换成二维list集合的话,那么指定了泛型是无法指定class,所以需要加一段这个代码来进行指定:new TypeReference<List<List<Integer>>>() {}
具体代码如下:

   List<List<Object>> lists = JSON.parseObject(textfile, new TypeReference<List<List<Object>>>() {
        });

注:如果是一维数组类型的字符串要转换成集合,也是这么写

 List<Object> lists = JSON.parseObject(textfile, new TypeReference<List<Object>>() {
        });
  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值