Un `JSON.stringify` bien formé
JSON.stringify
était précédemment spécifié pour retourner des chaînes Unicode mal formées si l'entrée contenait des solitaires :
JSON.stringify('\uD800');
// → '"�"'
La proposition “Un JSON.stringify
bien formé” modifie JSON.stringify
pour qu'il génère des séquences d'échappement pour les solitaires, rendant sa sortie un Unicode valide (et représentable en UTF-8) :
JSON.stringify('\uD800');
// → '"\\ud800"'
Notez que JSON.parse(stringified)
produit toujours les mêmes résultats qu'avant.
Cette fonctionnalité est une petite correction qui était attendue depuis longtemps en JavaScript. C'est une chose de moins à craindre pour les développeurs JavaScript. En combinaison avec JSON ⊂ ECMAScript, elle permet d'incorporer en toute sécurité des données sérialisées en JSON comme littéraux dans les programmes JavaScript, et d'écrire le code généré sur disque dans n'importe quel encodage compatible Unicode (par exemple UTF-8). Cela est extrêmement utile pour les cas d'utilisation de métaprogrammation.