前端回传的数组看上去是一个带有括号的形式,比如[“1”,“2”,“3”,“4”,“5”]这种的,
但是打印输出的时候结果是 1,2,3,4,5…
从我的个人角度而言,[“1”,“2”,“3”,“4”,“5”]是一个json数组,存库的时候可以放入数据库中,方便用后期使用mysql的json函数,这就要求我们使用函数相互转换存入数据库。
还有一个问题,前端的需要的是一个"1,2,3,4,5"的字符串,取出数据库中的数据为json字符串,所以需要再次转换成前端需要的格式,方便页面展示。
原理:分割加""和[]
/***
* 将1,2,3,4,5...这种形式的字符串转成["1","2","3","4","5"]
* @param strs
* @return
* */
public static String converStringComplex(String strs) {
if (StringUtils.isNotBlank(strs)) {
String[] split = strs.split(",");
if (split.length == 1) {
return "[\""+strs+ "\"]";
} else {
String temp = "";
for (int i = 0; i < split.length; i++) {
temp += '\"' + split[i] +'\"' + ",";
}
String substring = temp.substring(0, temp.length() - 1);
return "[" + substring + "]";
}
}
return null;
}
原理:正则判断\s*\[*\]*\"*
正则可以自己写,可以用这个网站判断写的对不对
正则表达式在线测试
正则学习网站
/***
* 将["1","2","3","4","5"]这种形式的字符串转成1,2,3,4,5...
* 去空格和[]
* @param strs
* @return
* */
public static String converStringSimple(String strs) {
if (StringUtils.isNotBlank(strs)) {
return strs.replaceAll("\\s*\\[*\\]*\\\"*","");
}
return null;
}
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- hzar.cn 版权所有 赣ICP备2024042791号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务