전의 문자(\)가 JavaScript 의 JSON.parse 에 미 친 영향 개술

ECMA 262 제5 판 에 따 르 면 JSON 은 stringify 와 parse 방법 을 제공 하 는 내 장 된 대상 으로 전 자 는 js 대상 을 json 기준 에 맞 는 문자열 로 바 꾸 고 후 자 는 json 기준 에 맞 는 문자열 을 js 대상 으로 전환시킨다.json 표준 참조json.org.사실 json 표준 에 부합 되 는 문자열 을 js 대상 으로 바 꾸 면 eval 을 사용 할 수 있 지만 eval 의 성능 이 상대 적 으로 떨 어 지고 안전 위험 이 존재 합 니 다(json 문자열 의 코드 를 실행 합 니 다).본 고 는 JSON 만 씁 니 다).본 고 는 전의 문자 가 JSON.parse 방법 에 미 친 영향 을 적 었 습 니 다.일반적으로 JSON.parse 의 매개 변 수 는 이동 문 자 를 포함 할 때 두 번 의 전의 문 제 를 만 날 수 있 습 니 다.사실은 첫 번 째 는 문자열 자체 의 전의 이 고 두 번 째 는 js 대상 으로 진정 으로 전환 하 는 전의 입 니 다.예 를 들 어 다음 과 같은 예 를 들 어서 다음 과 같이 다음 과 같이 다음 과 같이 다음 과 같이 예 를 들 면 다음 과 같 습 니 다:문자열'{"a":"b","b","b","b":"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\이후 본 격 적 으로 js 대상 으로 전 환 될 때 또 한 번 의 전의 가 있 습 니 다.즉,실제 출력 문자 전의 첫 번 째\전의 두 번 째\(이 때 는 두 개 만 있 습 니 다\).그래서 console.log(JSON.parse('{"a":"b","b":"\\\\\\\"});출력 결 과 는 Object{a:"b",b:"\"}입 니 다.즉,실제 표 시 된 데 이 터 는 하나 입 니 다.예 2:var obj={a:"b",b:"\\",c:{b:"\\\",a:{b:"\\\"}};var json_str = JSON.stringify(obj); console.log( JSON.stringify(obj) ); console.dir(JSON.parse(json_str)); console.dir(JSON.parse('{"a":"b","b":"\\\\","c":{"b":"\\\\","a":{"b":"\\\\"}}}'));출력 결 과 는 다음 그림 과 같 습 니 다.따라서 위의 첫 번 째 줄 의 출력 은 쓰기 에 따라'{"a":"b","b":"\\\\\\\\\","c":{"b":"\\\\\\\","a":{"b":"\\\\\\\\\\\"}}'로 세 번 째 조 를 통 해 검증 할 수 있 습 니 다.요약,js 대상 에 하나의\가 나타 나 려 면 json 문자열 에 네 개의\가 나타 나 야 합 니 다.다른 특수 문자 에 대해 서 는 1.작은 따옴표("),작은 따옴표 가 올 바 르 게 나타 나 면\\\\"2.올 바른 줄 바 꿈 이 나타 나 려 면 json 문자열 에\가 있어 야 한다.사실은 먼저 맞 는\\전의 이 고 n 은 보통 문자 가 되 며,js 대상 으로 해 석 될 때 n 과 그 앞 에 있 는\(한 개 만 있 음)는 줄 바 꿈 으로 해 석 됩 니 다.아래 의 두 가 지 는 이와 유사 하 다.3.\r,\\r 4.\t,\\t

좋은 웹페이지 즐겨찾기