Hello World...

parseJSON ascii 활용 코딩 본문

javascript

parseJSON ascii 활용 코딩

FaustK 2019. 12. 26. 19:45

parseJSON 이라는 고난도 재귀 문제. 하루 이틀 가지고는 풀기 어려운 문제다 😣

거의 테스트 통과에 근접했다고 믿고 싶지만 (ㅎㅎ)

어쨌든 다른 수강생분의 코드를  참고해서 완료하였다.(정말 대단하신...)

 

그래도 문자열 이스케이핑 처리 부분은 머리를 짜내 나름대로 열심히 코딩하였다.

 

const str = '["\\n"]';
>> "\n"

 

위 str 을 JSON.parse(str) 을 하면 어떻게 될까?

 

개행 문자가 배열 안에 있다.

단순히 백슬래쉬라는 문자와 n 이라는 문자의  조합이 아닌 이스케이프 문자다. 

 

['\\n'] 

\\ => '\' + 'n' 

이런 형식으로 배열 안에 넣으면 단순 문자열로 취급된다. 

어떻게 해야 하나 고민하다 예전에 아스키 코드를 사용했던 기억을 떠올려 객체를 만들었다.

 

const ascii = String.fromCharCode;

const escapeChar = {
  n: ascii(10),
  t: ascii(9),
  b: ascii(8),
  f: ascii(12),
  r: ascii(13),
  '\\': ascii(92),
  "'": ascii(39),
  '"': ascii(34)
};

 String.fromCharCode(65) === 'A'

백슬래쉬 다음에 오는 문자가 이스케이프에 해당되는 문자라면 위에 객체에 맞게 값을 찾는다.

 

'javascript' 카테고리의 다른 글

자바스크립트 CLASS  (0) 2020.01.03
자바스크립트 객체 참조  (0) 2020.01.02
클로저 객체 메소드  (0) 2020.01.01
OOP 객체지향, JS 객체 생성, 프로토타입  (0) 2019.12.28
자바스크립트 this 5가지 패턴  (0) 2019.12.27
Comments