I have the following input which I receive:
const myString = "['one', 'two']";
When I run the following command:
console.log(typeof myString);
I get string
This makes sense, as this is a string input. The input type is out of my control, I must receive this as a typeof string.
However, I would like to convert this string, into a formal array of strings.
For example:
const myArray = ['one', 'two'];
So, when I run:
console.log(typeof myArray);
I get object
.
I have tried JSON.parse()
and JSON.stringify
but to no luck.
The basics of my question are how do I (in JavaScript) convert a string array, into an array of strings?
JSON.parse
would work, if the JSON wasn't invalid. As mentioned in the comments, the string would have to be formatted as '["1", "2"]'
.
If you do not have control over the formatting, you can parse it manually: if the strings don't contain quotes, you can use #replaceAll("'", '"')
.
If you have edge cases you need to cover, json5 may be able to help: JSON5.parse(str)
once you have the script loaded via NPM or unpkg