В идеале, найдите на своем языке библиотеку JSON, в которую вы можете передать некоторую подходящую структуру данных, и пусть она беспокоится о том, как избежать чего-либо . Это будет держать вас намного разумнее. Если по какой-либо причине у вас нет библиотеки на вашем языке, вы не хотите использовать ее (я бы не советовал это делать), или вы пишете библиотеку JSON, продолжайте читать.
Побег это в соответствии с RFC. JSON довольно либерален: только символы вы должны вырваться из кабалы \
, "
и управляющие коды (все , что меньше , чем U + 0020).
Эта структура экранирования специфична для JSON. Вам понадобится особая функция JSON. Все escape-коды могут быть записаны как \uXXXX
где XXXX
находится кодовая единица UTF-16 для этого символа. Есть несколько сочетаний клавиш, например \\
, которые также работают. (И они приводят к меньшему и более четкому выводу.)
Для получения полной информации см. RFC .
Экранирование ¹JSON построено на JS, поэтому он использует \uXXXX
, где XXXX
это код блок UTF-16. Для кодовых точек вне BMP это означает кодирование суррогатных пар, что может быть немного затруднительно. (Или вы можете просто вывести символ напрямую, так как кодированный для JSON символ Unicode позволяет использовать эти символы.)
'
, вы обречены с самого начала: строки JSON могут быть только окружены"
. См. Ietf.org/rfc/rfc4627.txt .