`JSON.stringify` bien formado
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.