实际上我在arraylist
中从Android设备获得了node.js
。但是因为它是字符串形式所以我想把它转换成array
。为此我在SO
中提到了很多类似的问题,但没有一个是有帮助的。我也尝试使用JSON.parse()
,但没有帮助。
我正在以'[艺术,摄影,写作] 的形式获得socialList。那么如何将这种格式转换为数组呢?
代码:
var soc_arr=JSON.parse(data.societyList)
console.log(soc_arr.length)
答案 0 :(得分:4)
使用类似的东西
var array = arrayList.replace(/^\[|\]$/g, "").split(", ");
@drinchev建议使用正则表达式之后。
正则表达式将char开头与' ['并以']'
结束答案 1 :(得分:3)
此字符串无效JSON,因为它不使用""
来表示字符串。
最好的方法是使用下面的方法自己解析它:
let data = '[test1, test2, test3]';
let parts = data
.trim() // trim the initial data!
.substr(1,data.length-2) // remove the brackets from string
.split(',') // plit the string using the seperator ','
.map(e=>e.trim()) // trim the results to remove spaces at start and end
console.log(parts);

答案 2 :(得分:2)
console.log('[Art, Photography, Writing]'.match(/\w+/g))

因此match()
适用于任何字符串,并将其拆分为数组元素。
答案 3 :(得分:0)
使用replace
和split
。此外,使用trim()
从数组元素中删除尾随和前导空格。
var str = '[Art, Photography, Writing]';
var JSONData = str.replace('[','').replace(']','').split(',').map(x => x.trim());
console.log(JSONData);