Что это
json-mapper - это бесплатная нативная утилита для macOS, которая генерирует Swift-model-классы для использования с библиотекой ObjectMapper. До появления Codable в Swift 4 (2017) ObjectMapper был одним из самых популярных способов парсить JSON в iOS-приложениях, и многие легаси-проекты до сих пор используют его. json-mapper автоматизирует создание model-классов под эту архитектуру.
Проект создан AppCraft LLC в 2016 году, последний коммит - ноябрь того же года. На GitHub около 30 звёзд - ниша узкая, но для тех кто работает с ObjectMapper - инструмент незаменимый.
Важно понимать контекст: в 2026 году для новых iOS-проектов ObjectMapper обычно не используется. Apple ввела встроенный Codable, который работает быстрее, имеет лучшую поддержку Xcode и не требует внешних зависимостей. Поэтому json-mapper - это инструмент для поддержки существующего кода, а не для нового.
Программа распространяется как Swift-проект на GitHub без готового DMG. Чтобы использовать, нужно собрать самостоятельно через Xcode. Учитывая возраст проекта (9 лет на момент 2026), при сборке могут возникнуть проблемы совместимости с современным Swift и Xcode - возможны минорные правки в коде.
Кому подойдёт
В первую очередь - iOS-разработчикам, поддерживающим legacy-проекты на ObjectMapper. Если вы взяли в работу старое приложение 2014-2017 года, в котором сотни моделей построены на ObjectMapper - писать новые в том же стиле проще через json-mapper, чем переписывать всю архитектуру на Codable.
Во вторую - разработчикам, унаследовавшим проект от другой команды. Часто легаси-код использует ObjectMapper потому что когда-то это был стандарт. Менять архитектуру риско - можно сломать существующий парсинг. json-mapper позволяет добавлять новые endpoints в старом стиле.
В третью - компаниям с большой кодовой базой, где миграция на Codable - проект на месяцы. Пока миграция не завершена, json-mapper закрывает потребность в новых моделях для существующего стека.
В четвёртую - разработчикам, которые предпочитают ObjectMapper по другим причинам. Несмотря на популярность Codable, ObjectMapper имеет некоторые преимущества: более гибкие transformation-функции, лучшая поддержка nested optional, более явное описание маппинга.
В пятую - студентам и преподавателям, изучающим эволюцию iOS-разработки. Понимать как делалось до Codable - полезный контекст. ObjectMapper был де-факто стандартом несколько лет, и его философия повлияла на дизайн самого Codable.
Ключевые возможности
Парсинг JSON
json-mapper парсит любой валидный JSON, определяет типы полей. Работает с input через текстовое поле или drag-and-drop файла.
Генерация ObjectMapper-классов
На выходе - готовый Swift-класс, наследуемый от Mappable, с метода init?(map:) и mapping(map:). Это стандартный шаблон ObjectMapper, который потом используется как:
let user = User(JSONString: jsonResponse)
// или
let user = Mapper<User>().map(JSONString: jsonResponse)
Snake_case ↔ camelCase mapping
Для каждого поля где имена в JSON и Swift отличаются, json-mapper автоматически добавляет правильный mapping:
name <- map["user_name"]
email <- map["email_address"]
Optional поля
Нуллы из JSON превращаются в Optional Swift-типы. ObjectMapper это поддерживает нативно через <- оператор.
Вложенные структуры
Nested objects превращаются во вложенные классы. Каждый класс - отдельный Mappable.
Native Swift приложение
Быстрая работа на любом Mac. Размер минимальный, расход памяти низкий.
Drag-and-drop
Можно перетащить JSON-файл из Finder в окно программы вместо копипасты текста.
Плюсы и минусы
Плюсы:
- Бесплатно, open source.
- Native Swift приложение - быстро.
- Решает узкую но важную задачу для legacy-проектов.
- Автоматический mapping snake/camel case.
- Локальная работа без отправки JSON в облако.
- Drag-and-drop поддержка.
Минусы:
- Заброшен с 2016 года - 9 лет без обновлений на момент 2026.
- Может не собираться на современном Xcode без правок.
- Лицензия не указана (NOASSERTION).
- Только ObjectMapper - не поддерживает Codable, GSON, Mantle.
- Нет CLI-режима.
- Маленькое сообщество (30 звёзд), не на чьё мнение опираться.
- ObjectMapper в 2026 - устаревающий выбор. Для новых проектов лучше Codable.
Как установить и использовать
Скачайте json-mapper со страницы программы на mac-soft.ru. Ссылка ведёт на GitHub-репозиторий.
Пошаговая инструкция:
- Установите Xcode из Mac App Store (если не установлен)
- Склонируйте репозиторий:
git clone https://github.com/AppCraft-LLC/json-mapper.git - Откройте
json-mapper.xcodeprojв Xcode - Возможно, Xcode попросит обновить настройки проекта (Update to recommended settings) - согласитесь
- Возможно, потребуется поправить deployment target и Swift version в Project Settings - сделайте чтобы соответствовало вашему Xcode
- Нажмите Cmd+R для сборки
Если при сборке возникают ошибки (а с проектом 2016 года они вероятны), смотрите на конкретные сообщения. Обычно нужны минимальные правки - изменить синтаксис устаревших API на современный Swift.
Использование (после успешной сборки):
- Запустите json-mapper.app
- Скопируйте JSON в окно программы
- Введите имя класса
- Нажмите Generate - получите Swift-код ObjectMapper-класса
- Скопируйте код в свой проект
- Не забудьте добавить ObjectMapper как зависимость в Podfile или Package.swift вашего проекта
Альтернативы
Если json-mapper не подходит - есть варианты:
- j2s (zadr/j2s) - похожий инструмент но генерирует Codable вместо ObjectMapper. Подходит для современных проектов. Активная разработка.
- JSONExport (Ahmed-Ali/JSONExport) - бесплатная Mac-утилита, поддерживает много языков и frameworks (включая ObjectMapper).
- JSONConverter (vvkeep/JSONConverter) - 950+ stars, более продвинутый аналог с поддержкой множества фреймворков.
- quicktype.io (онлайн) - универсальный JSON-to-Code сервис.
- CLI: ijoshsmith/json2swift - command-line вариант.
Для новых проектов в 2026 году рекомендуется уйти с ObjectMapper на Codable. Используйте j2s или JSONExport для генерации Codable-моделей. Это даст более производительный код, лучшую поддержку Xcode и одну зависимость меньше.
Итог
json-mapper - нишевый инструмент для определённой ситуации: поддержка legacy iOS-проектов на ObjectMapper. Если вы в этой ситуации - программа экономит время на boilerplate-коде. Если нет - используйте современные альтернативы под Codable.
Основные риски: проект 9 лет не обновляется и может не собираться на современном Xcode без правок. Готовьтесь потратить 30-60 минут на адаптацию кода. После этого инструмент работает стабильно для своей задачи.
Для проектов 2026+ года - переходите на j2s или JSONExport для Codable-моделей. ObjectMapper хороший фреймворк, но Apple-нативный Codable стал лучшим выбором для большинства случаев.
Скачать json-mapper для macOS можно на mac-soft.ru. Программа бесплатная, open source, требует Xcode для сборки.
Комментарии (0)