4

If I have this below as a string, how can I easily make that into an array?

"[[0.01,4.99,0.01],[5,14.95,0.05]]"

I want the same result as:

var x = [[0.01,4.99,0.01],[5,14.95,0.05]];

2 Answers 2

9
var x = JSON.parse("[[0.01,4.99,0.01],[5,14.95,0.05]]");

Or the way jQuery does JSON parsing (better than eval):

var x = (new Function("return " + "[[0.01,4.99,0.01],[5,14.95,0.05]]"))();

To make this answer complete, you can use a polyfill for older browsers to support JSON.parse and JSON.stringify. I recommend json3, because Crockfords json2 is to crockfordy (insiders know what I mean).

Sign up to request clarification or add additional context in comments.

1 Comment

Big up for the function version :)
5
var x = JSON.parse("[[0.01,4.99,0.01],[5,14.95,0.05]]");

For older browsers that don't have the built-in JSON object you might want to download Crockford's json2.js, which defines a JSON object with the same API if it's not already defined.

2 Comments

+1 for mentioning json2.js. Related: stackoverflow.com/questions/891299/…
As a side note, you might be tempted to use eval() instead of JSON.parse for browsers that do not have JSON defined, but do NOT. Use Corckford's js to make it work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.