programing

JSON에서 큰따옴표를 피하는 방법

testmans 2023. 3. 21. 21:48
반응형

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은 큰따옴표 앞에 있습니다\"당신이 찾고 있는 사람이죠

저와 com Editor"에.parse의 출력에 큰의 큰따옴표입니다.JSON.parse(텍스트) " Editor" w3schools.com " w3schools.com\\\"내에서 을 만들고 <script>block 는 후하여 결과 에 " " "가 .\"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에서 큰따옴표를 이스케이프하려면 \\를 사용하여 이스케이프합니다.

예: 다음 javascript 객체의 json을 만들고 싶은 경우

{time: '7 "o" clock'}

그러면 당신은 다음과 같이 써야 합니다.

'{"time":"7 \\"o\\" clock"}'

를 사용하여 JSON.parse()

JSON.parse('{"time":"7 \\"o\\" clock"}')

결과는 다음과 같습니다.

{time: "7 "o" clock"}

백슬래시를 보여주고 있어요. 당신도 백슬래시를 탈출하고 있으니까요.

큰따옴표 외에 JSON 따옴표로 묶인 문자열에 백슬래시를 포함할 경우에도 이스케이프해야 합니다.하지만 백슬래시를 탈출 시퀀스로 사용하려는 경우 백슬래시를 탈출해서는 안 됩니다.

이 문제는 콘텐츠가 "이중 부호화"되었을 때 가장 자주 발생하며, 이는 부호화 알고리즘이 실수로 두 번 호출되었음을 의미합니다.

첫 번째 콜은 "text2" 값을 인코딩합니다.

From: startet unrere Rundreise "예시 텍스트"를 누릅니다.Jeden Tag wird eues Reiseziel angesteuert bis wir.

TO: startet unre rundreise "예시 텍스트" 를 누릅니다.Jeden Tag wird eues Reiseziel angesteuert bis wir.

그런 다음 두 번째 부호화가 다시 변환되어 이미 이스케이프된 문자가 이스케이프됩니다.

From: startet unrere Rundreise "예시 텍스트" 를 누릅니다.Jeden Tag wird eues Reiseziel angesteuert bis wir.

TO: startet unrere Rundreise \\"예시 텍스트\\".Jeden Tag wird eues Reiseziel angesteuert bis wir.

따라서, 여기서 서버의 실장을 담당하고 있는 경우는, 같은 컨텐츠를 부호화하려고 하는 2개의 스텝이 없는 것을 확인해 주세요.

JSON 데이터에 문제를 일으키는 백슬래시를 피하기 위해 이 기능을 사용합니다.

//escape backslash to avoid errors
var escapeJSON = function(str) {
    return str.replace(/\\/g,'\\');
};

dr;dr

javascript/이 있는 string javascript/python's)을 사용합니다r'' javascript의 는 jav javascriptString.raw「」입니다 이스케이프 처리를 에, 의 기입을 .복수의 이스케이프 시퀀스 처리를 회피하기 때문에, JSON 스트링의 기입을 훨씬 용이하게 합니다.

console.log(JSON.parse(String.raw`"This is a double quote >> \" <<"`))
// => This is a double quote >> " <<

상세

JSON 문자열을 코드로 쓸 때 몇 가지 혼동이 발생할 수 있는 것은 문자열 이스케이프 시퀀스가 여러 번 처리되기 때문입니다.한 번, JSON 한번 JSON 파서:JSON.parse()Javascript ★★★★★★★★★)

언어의 인쇄 기능을 사용하여 프로그래밍 언어로 이스케이프가 발생하고 있는지 확인합니다.

프로그래밍 언어 리플리케이션에서 문자열이 어떻게 표시되는지 알기 어려울 수 있습니다.

예를 들어 javascript 복제에 직접 문자열을 입력하면 다음과 같이 표시됩니다.

'Two newlines:\n\nTab here >>\t<<\n\nBackslash here >>\\<<'
// => 'Two newlines:\n\nTab here >>\t<<\n\nBackslash here >>\\<<'

하지만 당신이console.log()이렇게 합니다.

console.log('Two newlines:\n\nTab here >>\t<<\n\nBackslash here >>\\<<')
/* =>
Two newlines:

Tab here >> <<

Backslash here >>\<<
*/

때, 예를 들어 함수에 를 '합니다.각 javascript는 각 javascript를 입니다.\n 문자,각 줄바꿈 문자, 문자, 줄바꿈 문자, 줄바꿈 문자, 줄바꿈 문자, 줄바꿈 문자 각각\t

많이 이 됩니다.console.log()무슨 일이 일어나고 있는지 더 잘 알 수 있는 끈입니다.

javascript에서 JSON의 단일 따옴표를 인코딩하는 방법

"에는 javascript를 사용할 수 .

console.log(JSON.parse('"This is a double quote >> \\" <<"'));
// => This is a double quote >> " <<

비단뱀이나 다른 언어에서도 비슷할 겁니다.

단계별:

  1. spec의 시퀀스 합니다.javascript spec은 javascript spec으로 됩니다.\n 바꿈 문자, 줄 바꿈 문자, 줄 바꿈 문자, 줄 바꿈 문자,\t
    • 「」, 「」를 치환합니다.\\\.
    • 은 " " " 입니다."This is a double quote >> \" <<"
    • 유효한 JSON 문자열로 하기 위해 바깥쪽 큰따옴표를 넣습니다.
  2. javascript는 결과를 가져와 JSON.parse() fn에 전달합니다.
  3. 표준으로부터의 이스케이프 합니다.JSON.parse는 JSON의 JSON을 합니다.\n 바꿈 문자, 줄 바꿈 문자, 줄 바꿈 문자, 줄 바꿈 문자,\t 문자입니다저희 같은 경우에는
    • 는 '어느 쪽인가'입니다."JSON을 사용하다
    • 내에서 JSON이 됩니다.\".★★★★★★ 。"문자열이 되지만 JSON이 종료되기 때문에" 가지고 도망치다\ 것을 \"문자 그대로 큰따옴표로 묶습니다.
    • 문자는 지지 the the the the the the the the the the the the the the"을 알 수
    • 해석된 결과 문자열은 다음과 같습니다.This is a double quote >> " << 큰따옴표도 . 이치노

가공되지 않은 스트링으로 인해 작업이 쉬워진다.

의 JavascriptString.raw 함수 및 의 "template 함수"r''에, 「스케이프 시퀀스 평가」, 「스케이프 시퀀스」, 「스케이프」, 「스케이프 시퀀스 평가」를 해, 「스케이프 시퀀스 평가」를 할 수 있습니다.

console.log(JSON.parse(String.raw`"This is a double quote >> \" <<"`))
// => This is a double quote >> " <<

개발자 powershell을 사용하고 싶은 분들을 위해.설정에 추가할 행은 다음과 같습니다.json:

"terminal.integrated.automationShell.windows": "C:\\Windows\\SysWOW64\\WindowsPowerShell\\v1.0\\powershell.exe",
"terminal.integrated.shellArgs.windows": [
    "-noe",
    "-c",
    " &{Import-Module 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\Tools\\Microsoft.VisualStudio.DevShell.dll'; Enter-VsDevShell b7c50c8d} ",
    ],

언급URL : https://stackoverflow.com/questions/15637429/how-to-escape-double-quotes-in-json

반응형