Well-formed `JSON.stringify`
JSON.stringify
was previously specified to return ill-formed Unicode strings if the input contains any lone surrogates:
JSON.stringify('\uD800');
// → '"�"'
The “well-formed JSON.stringify
” proposal changes JSON.stringify
so it outputs escape sequences for lone surrogates, making its output valid Unicode (and representable in UTF-8):