Home > Back-end >  How change a string looks like array to a real aray
How change a string looks like array to a real aray

Time:11-04

I have a string, it looks like a array but not a real array. So my question is how to make it to a real array.

let string = "["abc", "cde"]";
// how to make string become an array

change string to an array

CodePudding user response:

First you need to make sure your string is invalid format

"["abc", "cde"]" // invalid
"[abc, cde]" // invalid
"[11, 22]" // valid,if you do not want to use quote to wrap it,then the elements need to be number
"['abc', 'cde']" // valid

let string = `["abc", "cde"]`
const array = JSON.parse(string)
console.log(array)

CodePudding user response:

You can do something like this

let data = "['abc', 'pqr', 'xxx']";
data = data.replace(/'/g, '"');
console.log(data)
const convertedArray = JSON.parse(data);
console.log(convertedArray)

CodePudding user response:

Observation : Your input string is not a valid JSON string.

Solution : Double quotes besides the array items should be escaped to parse it properly. Your final string should be.

let string = "[\"abc\", \"cde\"]";

Now you can parse it using JSON.parse() method.

Live Demo :

let string = "['abc', 'cde']";
string = string.replace(/'/g, '"');
console.log(string); // "[\"abc\", \"cde\"]"
console.log(JSON.parse(string)); // ["abc", "cde"]

  • Related