Only three things genuinely have to be escaped
The JSON string grammar is narrow about what it forbids inside quotes. A double quote would end the string early, so it must become `\"`. A backslash starts an escape sequence, so a literal one must become `\\`. And any character below U+0020 - the C0 control characters, including tab, newline and carriage return - is not permitted raw and must be escaped. That is the entire mandatory list.
Everything else may appear literally. Single quotes need no escaping, because JSON strings are always double-quoted. Forward slashes need none either, although `\/` is legal and you will sometimes see it, a habit inherited from embedding JSON inside HTML `<script>` blocks where the sequence `</` could terminate the tag early. Accented letters, CJK characters and emoji are all valid raw UTF-8 in a JSON string.
The five control characters that have short forms - `\b`, `\f`, `\n`, `\r`, `\t` - are conveniences. Any of them could equally be written as a `\u` escape, and the remaining control characters have to be.