>  기사  >  웹 프론트엔드  >  json의 이스케이프 문자는 무엇입니까?

json의 이스케이프 문자는 무엇입니까?

(*-*)浩
(*-*)浩원래의
2019-06-01 13:32:399378검색

Escape Sequence는 Character Entity라고도 합니다. HTML에서 이스케이프된 문자열을 정의하는 이유는 두 가지입니다. 첫 번째 이유는 "<" 및 ">"와 같은 기호를 HTML 태그로 표시하는 데 사용했기 때문에 텍스트로 직접 사용할 수 없기 때문입니다. 의 기호를 사용하십시오. HTML 문서에서 이러한 기호를 사용하려면 이스케이프 문자열을 정의해야 합니다. 인터프리터는 이러한 문자열을 만나면 이를 실제 문자로 해석합니다. 이스케이프 문자열을 입력할 때 대문자와 소문자 규칙을 엄격히 따르십시오. 두 번째 이유는 일부 문자가 ASCII 문자 세트에 정의되어 있지 않으므로 이스케이프된 문자열로 표시해야 하기 때문입니다.

json의 이스케이프 문자는 무엇입니까?

사실 모든 프로그래밍 언어에는 기본적으로 두 가지 이유로 이스케이프 문자가 있습니다.

# 🎜 🎜#1. ASCll의 제어 문자, 캐리지 리턴 및 줄 바꿈 문자와 같이 문자 집합에 정의된 문자를 나타내려면 이스케이프 문자를 사용하세요. 따라서 이스케이프 문자로만 표현할 수 있습니다.

2. 특정 특정 문자는 편집 언어에서 특수 목적 문자로 정의됩니다.

이 문자는 특수한 목적으로 정의된 문자이기 때문에 원래의 의미를 잃었습니다. 예를 들어 HTML에서 <는 HTML에 의해 태그의 시작으로 정의되므로 <로 전환하면 HTML은 이를 < 대신 시작으로 처리합니다. 또 다른 예는 PHP의 큰따옴표(")입니다. 이는 PHP에서 문자열의 주변 태그로 정의하므로 큰따옴표 쌍 안에 있고 큰따옴표를 사용하려는 경우 이스케이프 문자만 사용할 수 있습니다. 그렇지 않으면 PHP는 오류 보고

위에서 이스케이프는 두 가지 상황에 지나지 않음을 알 수 있습니다.

1: 일반 문자를 다음으로 변환합니다. 특수 용도, 일반적으로 프로그래밍 언어에서 뒤로 키, Enter 키 등과 같이 직접 표시할 수 없는 문자를 나타내는 데 사용됩니다.

2: 특수 의미 문자를 다시 원래대로 변환하는 데 사용됩니다. html과 같은 일부 언어는 프로그래밍 언어가 아니지만 쉘 스크립트 언어와 같이 한 가지 유형만 사용하는 경우도 있습니다. 이러한 언어의 문자열은 따옴표로 묶지 않거나 따옴표 " "를 생략할 수 있으므로 이때 문자가 메타 문자가 아닌 일반 문자임을 나타내기 위해 문자를 이스케이프 처리해야 하는 경우가 있습니다. 특별한 의미로

또한 웹사이트 보안을 위한 것입니다. 데이터가 데이터베이스에 기록되기 전에 일부 민감한 문자가 이스케이프됩니다. 이를 통해 일부 사람들이 특수 문자를 사용하여 공격하는 것을 방지할 수 있습니다. 문자열은 직렬화된 후 파일에 저장됩니다. 문자열을 읽을 때 합법적인 JSON 개체 형식이 아니기 때문에 JSON.parse()를 사용하여 JSON 개체로 직접 구문 분석할 수 없습니다.

예를 들어 다음 JSON 문자열은 파일에 저장되며 읽을 때 직접 구문 분석할 수 없습니다.

“{\"resourceId\":\"dfead70e4ec5c11e43514000ced0cdcaf\",\"properties\":{\"process_id\":\"process4\",\"name\":\"\",\"documentation\":\"\",\"processformtemplate\":\"\"}}"
이 문자열이 다음에 나타나는 경우 백슬래시는 이스케이프를 의미하므로 코드에는 문제가 없지만, 이렇게 텍스트 파일에서 직접 읽으면 JSON.parse()로 직접 구문 분석할 수 없고 역직렬화하여 백슬래시를 제거해야 합니다. 슬래시. 일부 프로그래머는 이를 수행하기 위해 도구 클래스를 작성하기를 좋아하지만 이를 수행할 수 있는 편리하고 빠른 도구 클래스가 이미 있습니다.
Apache의 공통 기능을 사용하세요. lang 도구 패키지(도구 클래스 사용: org.apache.commons.lang.StringEscapeUtils)

예제는 다음과 같습니다.

public void test(){
	String str1 = "{\"resourceId\":\"dfead70e4ec5c11e43514000ced0cdcaf\",\"properties\":{\"process_id\":\"process4
	"+"\",\"name\":\"\",\"documentation\":\"\",\"processformtemplate\":\"\"}}";
	String tmp = StringEscapeUtils.unescapeJavaScript(str1);
	System.out.println("tmp:" + tmp);
}
#🎜 🎜## 🎜🎜#출력:

tmp:{"resourceId":"51ad70e41c5c11e88514000c290cdcfa","properties":{"process_id":"process4","name":"","documentation":"","processformtemplate":""}}

위 내용은 json의 이스케이프 문자는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:위챗JS란 무엇인가다음 기사:위챗JS란 무엇인가