Saltar al contenido principal

`JSON.stringify` bien formado

· Lectura de un minuto
Mathias Bynens ([@mathias](https://twitter.com/mathias))

JSON.stringify anteriormente estaba especificado para devolver cadenas Unicode mal formadas si la entrada contenía algún sustituto solitario:

JSON.stringify('\uD800');
// → '"�"'

La propuesta de “JSON.stringify bien formado” cambia JSON.stringify para que produzca secuencias de escape para sustitutos solitarios, haciendo que su salida sea Unicode válido (y representable en UTF-8):

JSON.stringify('\uD800');
// → '"\\ud800"'

Tenga en cuenta que JSON.parse(stringified) sigue produciendo los mismos resultados que antes.

Esta característica es una pequeña corrección que llevaba mucho tiempo pendiente en JavaScript. Es una cosa menos de la que preocuparse como desarrollador de JavaScript. En combinación con JSON ⊂ ECMAScript, permite incrustar de forma segura datos serializados con JSON como literales en programas de JavaScript y escribir el código generado en disco con cualquier codificación compatible con Unicode (por ejemplo, UTF-8). Esto es súper útil para casos de uso de metaprogramación.

Compatibilidad de la característica