Java将String字符串带括号转成List的简单方法
问题现象
今天在做一个需求:将存入数据库中的数据读到后解析成list遍历分析
数据格式:
"[1677660600000, 1677660900000, 1677661200000]"
"[5, 4, 4,3,2,0,0]"
我一开始想到的就是使用逗号分割即可
结果变成了这样的列表:
我没有想到开头和结尾的[],这样就会导致列表中第一个数据和最后一个数据转不成double
解决问题
后来想到转json格式,确实是把括号转没了,但是怎么获取到值呢
可以看到得到了size的数量也对
但是使用parse.size没有这个方法,取不到长度我就没法去遍历
然后就转换成list 使用Arrays.asList()方法转一下结果发现还是不对
用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 封装的,其中有个参数值是字符串数组(如:[“path1”,”path2”,”path3”]),需要将其转为 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);
}
总结
到此这篇关于Java将String字符串带括号转成List的文章就介绍到这了,更多相关Java String字符串转List内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341