Próbuję wyświetlić podwójne cudzysłowy, ale pokazuje jeden z ukośników odwrotnych:
"maingame": {
"day1": {
"text1": "Tag 1",
"text2": "Heute startet unsere Rundreise \\\"Example text\\\". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.</strong> "
}
}
Podczas renderowania w html pokazuje się jako \"Example text\"
. Jaka jest właściwa droga?
All characters may be placed within the quotation marks except for the characters that must be escaped
a potem określa:\" represents the quotation mark character (U+0022)
Kiedy i gdzie użyć
\\\"
zamiast tego. OK, jeśli jesteś podobny do mnie, poczujesz się tak samo głupio, jak ja, kiedy zdałem sobie sprawę, co robię po znalezieniu tego wątku.Jeśli tworzysz plik tekstowy / strumień .json i importujesz stamtąd dane, to odpowiedź na główny strumień tylko jednego ukośnika odwrotnego przed podwójnymi cudzysłowami:
\"
jest tym, którego szukasz.Jednak jeśli jesteś podobny do mnie i próbujesz uzyskać w3schools.com „Tryit Editor” podwójny cudzysłów w pliku wyjściowym JSON.parse (tekst), to ten, którego szukasz, jest potrójny podwójne cudzysłowy
\\\"
. To dlatego, że budujesz swój tekst wewnątrz HTML<script>
bloku, a pierwsze podwójne wkładki odwrotnego ukośnika pojedynczy backslash do zmiennej łańcuchowej następnie następujące backslash cudzysłów wstawia cudzysłów w ciąg tak, że otrzymany ciąg skrypt zawiera\"
od standardowa odpowiedź i parser JSON przeanalizuje to jako tylko podwójne cudzysłowy.+1: ponieważ jest to ciąg tekstowy JavaScript,
\\"
działałby również podwójny cudzysłów ukośnik odwrotny ; ponieważ cudzysłów nie musi uciec obrębie jednego cytowany np smyczkową'\"'
i'"'
wyniku w tym samym ciąg JS.źródło
Pokazuje odwrotny ukośnik, ponieważ unikasz również odwrotnego ukośnika.
Oprócz podwójnych cudzysłowów, musisz również unikać ukośników odwrotnych, jeśli chcesz uwzględnić jeden w ciągu cytowanym w JSON. Jeśli jednak zamierzasz użyć odwrotnego ukośnika w sekwencji ucieczki, oczywiście nie powinieneś go unikać.
źródło
Zauważ, że najczęściej występuje to, gdy treść została „podwójnie zakodowana”, co oznacza, że algorytm kodowania został przypadkowo wywołany dwukrotnie.
Pierwsze wywołanie koduje wartość „text2”:
OD: Heute startet unsere Rundreise „Przykładowy tekst”. Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
DO: Heute startet unsere Rundreise \ "Przykładowy tekst \". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
Drugie kodowanie konwertuje je ponownie, unikając znaków, które już zostały usunięte:
OD: Heute startet unsere Rundreise \ "Przykładowy tekst \". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
DO: Heute startet unsere Rundreise \\\ "Przykładowy tekst \\\". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
Jeśli więc jesteś odpowiedzialny za implementację serwera tutaj, sprawdź, czy nie ma dwóch kroków próbujących zakodować tę samą zawartość.
źródło
jeśli chcesz uniknąć podwójnego cudzysłowu w JSON, użyj \\, aby uciec.
przykład, jeśli chcesz utworzyć Json następującego obiektu javascript
musisz napisać w następujący sposób
jeśli przeanalizujemy to za pomocą
JSON.parse()
wynik będzie
źródło
Aby uniknąć ukośników odwrotnych, które powodują problemy z danymi JSON, używam tej funkcji.
źródło
Dla tych, którzy chcieliby użyć programisty PowerShell. Oto linie do dodania do pliku settings.json:
źródło