Парсит только JSON-объекты, мыссивы не поддерживаются, но можно расширить функционал.
Нормально парсятся не экранированные ковычки* в строках-значениях полей, в именах полей не экранированные ковычки не поддерживаются.
- На самом деле нужно где то все же остановится, по этому останавливаемся, если после '"'(не экранированной, экранированные пропускаем) следует ','[пробелы,переводы строк]'"' (то есть новая пара поле-значение) либо '}' (завершение объекта)
Поддерживаемые типы значений в полях объектов JSON: строки - конвертируются в String true\false - конвертируются в Boolean число без точки - Integer число с точкой - Float null - null
Сборка: mvn clean compile assembly:single
Запуск: java -jar BadJson-0.1-jar-with-dependencies.jar
Запускаемый класс net.wolf.bad.json.TestJsonParser, читает файл с примерами JSON, выводит JSON с файла, парсит и отображает как JsonObject.prettyPrint().