Автор решил запилить парсер JSON на Rust с нуля, чтобы на практике прочувствовать структуры, енумы и сопоставление с образцом.
Начал с теории: struct для группировки данных, enum для вариантов вроде объекта, массива или строки, а match - чтобы все это красиво разбирать. Потом написал токенизатор, который жрет строку символов и выдаёт токены: фигурные скобки, двоеточия, строки с эскейп-последовательностями, числа и ключевые слова. А дальше - парсер, который рекурсивно обходит эти токены и собирает их в тип JsonValue - енум с вариантами Object, Array, Str, Number, Bool и Null.
В итоге простой четырехсотстрочный код, который нормально переваривает вложенные структуры и даже юникодные эскейпы. В следующей серии напишем парсер TOML и разберемся с Result вместо всяких паник
Автора вообще много прикольных статей
05.05.2026
Похожее
04.05.2026
Bevy и сеть
Цикл статей по разработке игр на Rust и Bevy все еще продолжается. Я уже писал п...
03.05.2026
Rust заимствования в Haskell
Теперь в Linear Haskell можно делать штуки в стиле Rust: безопасные мутабельные ...
01.05.2026
Сокращатель ссылок
Небольшая, но практическая статья Ребята запилили свой сервис для сокращения ...
30.04.2026
Сложно но без unsafe
В Rust ужасно сложно делать циклические ссылки, потому что он требует четкого вл...