JSON에서 큰 따옴표를 이스케이프 처리하는 방법
큰 따옴표를 표시하려고하지만 백 슬래시 중 하나를 보여줍니다.
"maingame": {
"day1": {
"text1": "Tag 1",
"text2": "Heute startet unsere Rundreise \\\"Example text\\\". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.</strong> "
}
}
html로 렌더링하면으로 표시됩니다 \"Example text\"
. 올바른 방법은 무엇입니까?
이 시도:
"maingame": {
"day1": {
"text1": "Tag 1",
"text2": "Heute startet unsere Rundreise \" Example text\". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.</strong> "
}
}
( \
따옴표 앞에 하나의 백 슬래시 ( )).
\\\"
대신 언제 어디서 사용해야 합니까? 네가 나와 같다면이 실을 찾은 후에 내가하고있는 일을 깨달았을 때와 똑같이 기분이 나빠질 것입니다.
.json 텍스트 파일 / 스트림을 만들고 거기에서 데이터를 가져 오는 경우 큰 따옴표 앞에 하나의 백 슬래시의 주요 스트림 대답이 있습니다 \"
.
그러나 당신이 나와 같고 w3schools.com "Tryit Editor"가 JSON.parse (text)의 출력에 큰 따옴표를 갖도록하려고한다면, 당신이 찾고있는 것은 트리플입니다 백 슬래시 큰 따옴표 \\\"
. HTML <script>
블록 내에 텍스트 문자열을 작성 하고 첫 번째 이중 백 슬래시는 단일 백 슬래시를 문자열 변수에 삽입 한 후 다음 백 슬래시 큰 따옴표는 큰 따옴표를 문자열에 삽입하여 결과 스크립트 문자열에 \"
from을 포함시키기 때문 입니다. 표준 답변과 JSON 파서는 이것을 큰 따옴표로 구문 분석합니다.
<script>
var text="{";
text += '"quip":"\\\"If nobody is listening, then you\'re likely talking to the wrong audience.\\\""';
text += "}";
var obj=JSON.parse(text);
</script>
+1 : JavaScript 텍스트 문자열이므로 큰 역 슬래시 큰 따옴표 \\"
도 작동합니다. 큰 따옴표는 단일 인용 문자열의 예에서 탈출 필요하지 않기 때문에 '\"'
와 '"'
같은 JS 문자열의 결과.
백 슬래시도 이스케이프 처리되므로 백 슬래시가 표시됩니다.
큰 따옴표 외에도 JSON 따옴표로 묶은 문자열에 백 슬래시를 포함 시키려면 백 슬래시를 이스케이프해야합니다. 그러나 이스케이프 시퀀스에서 백 슬래시를 사용하려는 경우에는 이스케이프를 피해야합니다.
이것은 콘텐츠가 "이중 인코딩"된 경우에 가장 자주 발생하며, 이는 인코딩 알고리즘이 실수로 두 번 호출되었음을 의미합니다.
첫 번째 호출은 "text2"값을 인코딩합니다.
FROM : Heute startet이 Rundreise "예제 텍스트"를 원치 않습니다. 제이 덴 태그 (Jeden Tag)는 Reiseziel angesteuert bis wir.
TO : startet unseere Rundreise \ "Example text \"를 봅니다. 제이 덴 태그 (Jeden Tag)는 Reiseziel angesteuert bis wir.
그런 다음 두 번째 인코딩은 이미 이스케이프 된 문자를 이스케이프 처리하여 다시 변환합니다.
FROM : Runuteise가 "예제 텍스트 \"인 Heute startet. 제이 덴 태그 (Jeden Tag)는 Reiseziel angesteuert bis wir.
TO : startet unesere Rundreise \\\ "예제 텍스트 \\\"를 표시하십시오. 제이 덴 태그 (Jeden Tag)는 Reiseziel angesteuert bis wir.
따라서 여기에서 서버 구현을 담당하는 경우 동일한 컨텐츠를 인코딩하려는 두 단계가 없는지 확인하십시오.
JSON에서 큰 따옴표를 이스케이프하려면 \\를 사용하여 이스케이프하십시오.
다음 자바 스크립트 객체의 json을 생성하려는 경우의 예
{time: '7 "o" clock'}
다음과 같이 작성해야합니다
'{"time":"7 \\"o\\" clock"}'
우리가 그것을 사용하여 구문 분석하면 JSON.parse()
JSON.parse('{"time":"7 \\"o\\" clock"}')
결과는
{time: "7 "o" clock"}
JSON 데이터에 문제를 일으키는 백 슬래시를 이스케이프 처리하려면이 함수를 사용합니다.
//escape backslash to avoid errors
var escapeJSON = function(str) {
return str.replace(/\\/g,'\\');
};
참고 URL : https://stackoverflow.com/questions/15637429/how-to-escape-double-quotes-in-json
'Programing' 카테고리의 다른 글
Mockito가 논쟁에 관계없이 방법을 쓸 수 있습니까? (0) | 2020.03.23 |
---|---|
"호출 가능"이란 무엇입니까? (0) | 2020.03.23 |
Access-Control-Allow-Origin 와일드 카드 하위 도메인, 포트 및 프로토콜 (0) | 2020.03.23 |
vim 줄 번호-기본적으로 어떻게 설정합니까? (0) | 2020.03.23 |
parseInt가 Array # map으로 NaN을 생성하는 이유는 무엇입니까? (0) | 2020.03.23 |