使用正则前,首先要知道你要转换的数据和转化后的数据是什么样子的,只有这样,才能使用合适的正则表达式进行简单粗暴的操作。
我的JSON数据(获取JSON数据:JSON.stringify(data)),获取后的格式是字符串)获取的key值是 [“value1”,“value2”,“value3”] 这种格式的字符串,要将其转化为正宗的数组。
- 将以上格式个字符串转化为以逗号分割的字符串。(因为JSON数据是用逗号隔开每一个值的,所以可以直接使用逗号进行分割)
- 去掉前后的中括号。(JSON数据获取后是字符串,"["、 "]"也是属于字符串的内容,所以也要去掉)
- 字符串转数组。(如果是使用字符串的话,这部可以省略)
str = JSON.stringify(str)//获取JSON的值,即 ["value1","value2","value3"]这种格式的字符串
str = str.replace(/\"/g, "")//去掉中间的双引号
str = str.replace(/\[|]/g,'');//去掉前后的中括号
str = str.split(",");//字符串转数组
//这样, var len = str.length; 就可以获取到数组的长度了,而不是获取的字符串的字符数量
下面附上一张图,js中正则各种符号的含义(借鉴大佬的)
下面的图片是自己整理的js和java中JSON转字符串或数组的时候会用到的一些正则表达式
如果还有更好的转化方式,欢迎补充