java 数据集合转换,大神来指点下

数据库存的数据是这样的:["192.168.1.1", "192.168.1.2-192.168.1.255", "192.168.1.0/24"]
这是什么数据类型,不是json吧,想要转换成list,或者string[] ,怎么做

用fastjson 直接转成jsonArray 就可以了

用java的JSON库可以直接转成String数组

直接替换拆分就行了,

 String str="[\"192.168.1.1\", \"192.168.1.2-192.168.1.255\", \"192.168.1.0/24\"]";
        String arr[]=str.replaceAll("\\[","").replaceAll("\\]","").split(",");

图片说明

办法两种,一:用json转string[],第二就是和楼上说的,拆分了,把[ ]中括号去掉(用替换也行),然后用字符串的分割就行了,

数据库中应该是存储了 varchar类型 对应的就是String 类型
你可以用String 类型的 replace方法 进行 进行替换 把冒号和[] 替换成空格
数据此时变成这样 192.168.1.1, 192.168.1.2-192.168.1.255, 192.168.1.0/24
再使用String 的split 方法以逗号 进行分割 string.split(',');
数据就变成一个数组了

图片说明

本身就应该是个List类型吧?

先把这个通过json.jsonobject转换成json,然后在用json.jsonarray转成list

最后通过转jsonarray的方法解决了,用字符串替代的方法也可以,但每次都会去匹配,效率明显低的