Estou tentando mostrar aspas duplas, mas mostra uma das barras invertidas:
"maingame": {
"day1": {
"text1": "Tag 1",
"text2": "Heute startet unsere Rundreise \\\"Example text\\\". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.</strong> "
}
}
Ao renderizar no html, ele mostra como \"Example text\"
. Qual é o caminho correto?
All characters may be placed within the quotation marks except for the characters that must be escaped
e então especifica:\" represents the quotation mark character (U+0022)
Quando e onde usar
\\\"
. OK, se você é como eu, vai se sentir tão bobo quanto eu quando percebi o que estava fazendo depois que encontrei esse tópico.Se você estiver criando um arquivo de texto .json / fluxo e importando os dados a partir daí, o fluxo principal responderá apenas uma barra invertida antes das aspas duplas:
\"
é o que você está procurando.No entanto, se você é como eu e está tentando fazer com que o "Tryit Editor" do w3schools.com tenha aspas duplas na saída do JSON.parse (texto), o que você está procurando é o triplo aspas duplas de barra invertida
\\\"
. Isso é porque você está construindo sua cadeia de texto dentro de um HTML<script>
bloco, e as primeiras inserções duplas barra invertida uma única barra invertida para a variável de cadeia, em seguida, a seguinte citação barra invertida dupla insere o aspas duplas na seqüência para que a cadeia script resultante contém a\"
partir de a resposta padrão e o analisador JSON analisarão isso apenas como aspas duplas.+1: como é uma sequência de texto JavaScript, uma aspas dupla com barra invertida
\\"
também funcionaria; porque as aspas duplas não precisam ser escapadas em uma única cadeia de caracteres entre aspas, por exemplo,'\"'
e'"'
resultam na mesma cadeia de caracteres JS.fonte
Está mostrando a barra invertida porque você também está escapando da barra invertida.
Além das aspas duplas, você também deve escapar das barras invertidas se desejar incluir uma em sua cadeia de caracteres JSON. No entanto, se você pretende usar uma barra invertida em uma sequência de escape, obviamente não deve escapar dela.
fonte
Observe que isso ocorre com mais freqüência quando o conteúdo é "codificado duas vezes", o que significa que o algoritmo de codificação foi acidentalmente chamado duas vezes.
A primeira chamada codificaria o valor "text2":
FROM: Ir para o início de uma revisão "Texto de exemplo". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
TO: Ative o startet unsere Rundreise \ "Exemplo de texto \". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
Uma segunda codificação então a converte novamente, escapando dos caracteres já escapados:
FROM: Ir para o início da pesquisa Rundreise \ "Example text \". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
TO: Ative o startet unsere Rundreise \\\ "Texto de exemplo \\\". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
Portanto, se você é responsável pela implementação do servidor aqui, verifique se não há duas etapas tentando codificar o mesmo conteúdo.
fonte
se você quiser escapar de aspas duplas no JSON, use \\ para escapar.
exemplo, se você deseja criar o json do seguinte objeto javascript
então você deve escrever da seguinte maneira
se a analisarmos usando
JSON.parse()
resultado será
fonte
Para escapar barras invertidas que causam problemas nos dados JSON, eu uso esta função.
fonte
Para quem gostaria de usar o desenvolvedor do PowerShell. Aqui estão as linhas para adicionar às suas configurações.json:
fonte