eval() 함수와 JSON 파싱하기
공공데이터를 다운받아 아래와 같은 정보를 data에 저장했다고 가정해보자.
var data = [
{"a": 0.6,"b": 0.008,"c": 0.002},
{"a": 0.8,"b": 0.002,"c": 0.001},
{"a": 0.9,"b": 0.005,"c": 0.007}
];
이러한 형태로 받으면 좋겠지만 받을수 없다. 원격으로 읽어오는 방식을 사용하면 데이터가 아래와 같이 문자열이 된다...
var data = '[
{"a": 0.6,"b": 0.008,"c": 0.002},
{"a": 0.8,"b": 0.002,"c": 0.001},
{"a": 0.9,"b": 0.005,"c": 0.007}
]';
한 칸 띄고 역슬래시( \ )를 통해 하나의 문자열로 묶을수있다.
var data = '[ \
{"a": 0.6,"b": 0.008,"c": 0.002}, \
{"a": 0.8,"b": 0.002,"c": 0.001}, \
{"a": 0.9,"b": 0.005,"c": 0.007} \
]';
이러한 데이터가 있을때 eval() 함수를 통해 원하는 값을 꺼낼수있다.
eval("var ar = " + data + ";");
을 통해 ar이라는 배열에 데이터를 배열 형태로 담고~
alert(ar[0].a); //0.6
ar에서 원하는 값을 선택하면! 값이 나온다.
하지만, JSON문자만 파싱하기 위해서 eval함수 대신 JSON을 전문으로 파싱하는 JSON parser를 사용하자!
Author And Source
이 문제에 관하여(eval() 함수와 JSON 파싱하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@zmdals/eval-함수와-JSON-파싱하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)