enlace toma contenido similar a JSON y lo convierte a JSON que es seguro evaluar como código fuente de JavaScript y que se puede incrustar en los elementos HTML <script> y en las secciones XML <![CDATA[...]]> .
Por ejemplo, dado
{
key1: "user_input",
key2: ["user_input1", "user_input2"]
}
Conserva varias propiedades:
- Las claves deben estar correctamente citadas.
- coincidencias de corchetes.
- Todos los caracteres de nueva línea de JavaScript (CR, LF, U + 2028, U + 2029) en cadenas tienen
\u.... de escape.
- Las comillas (
" ), las barras diagonales inversas ( \ ) son \u.... de escape para garantizar que las cadenas no terminen prematuramente.
- Los paréntesis angulares (
< y > ) se escapan \u.... según sea necesario para evitar que las cadenas contengan el texto literal </script o ]]> , lo que evitaría la incrustación.
- Todos los caracteres de control (en realidad, los caracteres no permitidos en XML) son
\u.... escapado incluyendo U + 0-U + 1F excluyendo la pestaña, U + 7F, U + FFFE, U + FFFF.
- Los sustitutos huérfanos de UTF-16 son
\u.... escaped.
- Todas las secuencias de escape se convierten en secuencias de escape JSON válidas, que incluyen escapes octales (
2 ), escapes hexadecimales de dos dígitos ( \x0A ) y escapes de un solo carácter ( \! ).
Puede ser una buena idea que \u.... escape cosas como + para desfigurar UTF-7.