Idealmente, encuentre una biblioteca JSON en su idioma en la que pueda alimentar una estructura de datos adecuada y deje que se preocupe por cómo escapar de las cosas . Te mantendrá mucho más sano. Si por alguna razón no tiene una biblioteca en su idioma, no quiere usar una (no sugeriría esto¹), o está escribiendo una biblioteca JSON, siga leyendo.
Escápelo de acuerdo con la RFC. JSON es bastante liberal: Los únicos caracteres que debe escapar son \
, "
y los códigos de control (nada menos que U + 0020).
Esta estructura de escape es específica de JSON. Necesitará una función específica de JSON. Todos los escapes se pueden escribir como \uXXXX
dónde XXXX
está la unidad de código UTF-16 para ese carácter. Hay algunos atajos, como por ejemplo \\
, que también funcionan. (Y dan como resultado una salida más pequeña y más clara).
Para más detalles, vea el RFC .
El escape de JSON se basa en JS, por lo que utiliza \uXXXX
, donde XXXX
está una unidad de código UTF-16. Para puntos de código fuera del BMP, esto significa codificar pares sustitutos, lo que puede ser un poco complicado. (O bien, puede simplemente generar el carácter directamente, ya que JSON está codificado para texto Unicode y permite estos caracteres en particular).
'
, está condenado desde el principio: las cadenas JSON solo se pueden rodear"
. Ver ietf.org/rfc/rfc4627.txt .