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]];
Erwin
4,8113 gold badges34 silver badges42 bronze badges
2 Answers 2
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).
answered Sep 25, 2012 at 9:51
Prinzhorn
22.6k7 gold badges65 silver badges69 bronze badges
Sign up to request clarification or add additional context in comments.
1 Comment
Andras Zoltan
Big up for the
function version :)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.
answered Sep 25, 2012 at 9:53
Andras Zoltan
42.4k13 gold badges109 silver badges160 bronze badges
2 Comments
kapa
+1 for mentioning json2.js. Related: stackoverflow.com/questions/891299/…
Salketer
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.
lang-js