软件编程
位置:首页>> 软件编程>> java编程>> Java将String字符串带括号转成List的简单方法

Java将String字符串带括号转成List的简单方法

作者:学者_小伟  发布时间:2022-10-26 18:20:17 

标签:java,字符串,list

问题现象

今天在做一个需求:将存入数据库中的数据读到后解析成list遍历分析

数据格式:

"[1677660600000, 1677660900000, 1677661200000]"
"[5, 4, 4,3,2,0,0]"

我一开始想到的就是使用逗号分割即可

结果变成了这样的列表:

Java将String字符串带括号转成List的简单方法

我没有想到开头和结尾的[],这样就会导致列表中第一个数据和最后一个数据转不成double

解决问题 

后来想到转json格式,确实是把括号转没了,但是怎么获取到值呢 

Java将String字符串带括号转成List的简单方法

可以看到得到了size的数量也对

但是使用parse.size没有这个方法,取不到长度我就没法去遍历

然后就转换成list  使用Arrays.asList()方法转一下结果发现还是不对 

Java将String字符串带括号转成List的简单方法

用jsonArray接收也不行

最后使用了强制转换成list可以了

predictResults.getTimeArr()是字符串,里面存的是时间戳

"[1677660600000, 1677660900000, 1677661200000]"

List<Object> timeStrings = (List<Object>) JSON.parse(predictResults.getTimeArr());
List<Object> leverStrings = (List<Object>) JSON.parse(predictResults.getLevelArr());

 ok,解决了 

附:Java 字符串或字符串数组转为 List

问题描述

由于从客户端传到后台的请求参数是 json 封装的,其中有个参数值是字符串数组(如:[&ldquo;path1&rdquo;,&rdquo;path2&rdquo;,&rdquo;path3&rdquo;]),需要将其转为 List,然后在循环中利用每个值。

解决方法

通过分隔符将字符串数组转为 String[] , 然后将该数组中的每个值添加至 List 对象,处理如下:

// 路径列表 形如 ["path1","path2","path3"]
String path = json.getString("fileSavePathList");
String[] pathArr = (path.substring(1, path.length() - 1)).split(",");

// 使用Arrays.asList 转换
List<String> pathList = Arrays.asList(pathArr);

另外,下面这种方法也行,但代码不够简洁
// 用于存放字符串的 list
List<String> pathList = new ArrayList<String>();
for (String path : pathArr) {
  pathList.add(path);
}

来源:https://blog.csdn.net/qq_44050737/article/details/129306702

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com