본문 바로가기

프로그램/javascript

eval 로 json문자열을 object로 만들떄 유의점

반응형

* 목적

eval 함수를 이용하여 json문자열을 object로 변환 시 오류가 발생하였음

이에 방법 테스트 해봄


* 과정.

1. 변수에 담기

var jObj={"test1.id":"ttttt"};

var testObj=eval(jObj);

=> 성공


var jObj={"test1.id":"ttttt"};

var testObj=eval('jObj');

=> 성공


2. eavl 에 바로 argument 로 넘기기

var testObj2=eval({"test1.id":"ttttt"});

=> 성공


var testObj2=eval('{"test1.id":"ttttt"}');

=> syntax 오류


var testObj2=eval('{test1.id:"ttttt"}');

=> syntax 오류


var testObj2=eval('({"test1.id":"ttttt"})');

=> 성공



* 결론

걍 마지막에 () 씌우는 걸로 수정하는게 나을 무난할 꺼 같음


* 참고 url

http://rayfd.me/2007/03/28/why-wont-eval-eval-my-json-or-json-object-object-literal/