2012-09-25 8 views
4

아래 코드를 문자열로 사용하는 경우이를 어떻게 쉽게 배열로 만들 수 있습니까? 이 대답이 완료하려면문자열을 배열로 변환 하시겠습니까?

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

:

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

답변

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

또는 JQuery와 JSON이 (더 나은 eval보다) 파싱 않는 방법 :

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

나는 같은 결과를 원한다 이전 브라우저에서 polyfill을 사용하여 JSON.parseJSON.stringify을 지원할 수 있습니다. 나는 Crockfords json2가 crockfordy (내부자는 내가 의미하는 것을 안다)이기 때문에 json3을 추천한다. 하지 않는 이전 브라우저의

+2

'기능'버전을 위해 큰 : –

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

JSON 객체에 내장 당신이 크록 포드의 json2.js, 그것은 이미 정의되어 있지 않은 경우 동일한 API와 JSON 객체를 정의하는 등을 다운로드 할 수있는.

+0

+1에 대해 json2.js 언급. 관련 : http://stackoverflow.com/questions/891299/browser-native-json-support-window-json – kapa

+2

참고로, JSON.parse 대신 eval()을 사용하지 않는 브라우저에 대한 유혹을받을 수 있습니다. JSON을 정의했으나 그렇지 않습니다. 그것을 사용하려면 Corckford의 js를 사용하십시오. – Salketer

관련 문제