Java: detecta caracteres de control que no son correctos para JSON

stoy reinventando la rueda y creando mis propios métodos de análisis JSON en Java.

Voy por la documentación (¡muy bonita!) En json.org. La única parte de la que no estoy seguro es dónde dice "o carácter de control"

ado que la documentación es tan clara y JSON es tan simple y fácil de implementar, pensé que seguiría adelante y requeriría la especificación en lugar de perderme.

¿Cómo lo haríacorrectament ¿eliminar los caracteres de control en Java? ¿Quizás hay un rango unicode?

Edit: A (¿comúnmente?) Pieza faltante en el rompecabezas

I haber sido informado que hay otros caracteres de control fuera deel rango definido 1 2 que puede ser problemático en<script> etiquetas.

Principalmente los caracteres U + 2028 y U + 2029, Separador de líneas y párrafos, que actúan como líneas nuevas. Inyectar una nueva línea en el medio de un literal de cadena probablemente causará un error de sintaxis (literal de cadena sin terminar). @3

Aunque creo que esto no representa una amenaza XSS, sigue siendo una buena idea agregar reglas adicionales para el uso en<script> etiquetas.

Solo sea simple y codifique todos los caracteres que no sean "imprimibles en ASCII" con\u notación. Esos personajes son poco comunes para empezar. Si lo desea, puede agregar a la lista blanca, pero le recomiendo un enfoque de lista blanca. En caso de que no lo sepa,no lo olvid acerca de</script (no distingue entre mayúsculas y minúsculas), que podría causar la inyección de script HTML a tu página con los personajes</script><script src=http://tinyurl.com/abcdef>. Ninguno de esos caracteres está codificado por defecto en JSON.

Respuestas a la pregunta(4)

Su respuesta a la pregunta