서버에서 데이터를 받은 경우에..헤더나 네트워크문제로 해당 데이터가 객체가 아니라 일반 문자열로 들어오는 경우가 있다.
또는 콤마, json형식처럼 보이는 문자열을 가져와서 파싱만 해주면 반복문으로 사용하면 참 편리한데 이걸 일일이 split하거나 사용자 정의의 파싱메소드를 만들기에는 참 귀찮은 일이지 않을 수 없다.
이럴때는 아래 소스코드를 활용하면 쉽게 배열형태의 객체로 파싱이 가능하다.
var string = "0,1,2,3,4,5"; //콤마로된 문자열
var objectstring = '{Name:"김이사", number:12345}'; //json형태의 문자열
var stringToArray = (new Function("return [" + string+ "];")());
var objectStringToArray = (new Function("return [" + objectstring+ "];")());
데이터를 Json형태로 파싱하는 방법중에는..JSON.parse 라는 기능이 존재하는데..
JSON.parse해서 일반 문자열을 파싱하는 경우 오류가 나는경우가 꽤나 존재한다.
그 이유는..JSON.parse는 여분의 콤마를 허용하지 않고, 속성은 반드시 쌍따옴표로 표현해야된다는 규칙이 존재한다. 조금 엄격하다고 볼 수 있다.
* 출처
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Errors/JSON_bad_parse
split이나 사용자가 규칙이나 패턴을 정의해서 만들어 써도 되지만, 위 방법만 알고있으면 쉽게 파싱이 가능하다.
반응형
'Javascript > [중요] Javascript' 카테고리의 다른 글
Input type File 다중 파일 선택 & Ajax 전송 (0) | 2019.04.27 |
---|---|
Firebase 파일다운로드 크로스 도메인(Cross-origin) (4) | 2019.04.27 |
익스플로러에서 간단한 파일다운로드 기능 (0) | 2019.04.27 |
Jquery 객체 생성시 이벤트 부여(FadeIn) (0) | 2019.04.27 |
Javascript Map, 맵 (0) | 2019.04.27 |
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)
댓글