|
| 1 | +# 1С:JSON (oscript-json) |
| 2 | + |
| 3 | +Данная библиотека предназначена для парсинга и сериализации JSON в среде 1Script. |
| 4 | + |
| 5 | +> **ВНИМАНИЕ: Проект устарел!** |
| 6 | +> Библиотека была необходима, когда в 1С отсутствовали штатные средства работы с JSON. После появления системного API для обработки JSON в 1С 8.3.6 они появились и в 1Script. |
| 7 | +> |
| 8 | +> Начиная с версии 1С 8.3.6 и в современных версиях 1Script, рекомендуется использовать системные методы `ПрочитатьJSON` и `ЗаписатьJSON`. |
| 9 | +> Библиотека сохранена в репозитории, так как она включена как зависимость во многие другие пакеты `oscript-library`. |
| 10 | +
|
| 11 | +## История и авторство |
| 12 | + |
| 13 | +Библиотека является портом модуля Александра Переверзева (a.v.pereverzev@gmail.com). |
| 14 | +Оригинальная публикация: [1С:JSON на Infostart](https://infostart.ru/1c/tools/119601/) |
| 15 | + |
| 16 | +## Особенности |
| 17 | + |
| 18 | +- Поддержка стандартного и альтернативного режимов JSON. |
| 19 | +- Работа с типами 1С: `Структура`, `Соответствие`, `Массив`, `ТаблицаЗначений`, `ДеревоЗначений`, `Дата`, `УникальныйИдентификатор` и др. |
| 20 | +- Поддержка комментариев в стиле `//` и `/* ... */` при чтении (нестандартное расширение). |
| 21 | +- Возможность автоматического приведения объектов к `Структуре` или `Соответствию`. |
| 22 | +- Маскирование кириллицы (опционально). |
| 23 | + |
| 24 | +## Примеры использования |
| 25 | + |
| 26 | +### Чтение JSON |
| 27 | + |
| 28 | +```bsl |
| 29 | +#Использовать json |
| 30 | +
|
| 31 | +Парсер = Новый ПарсерJSON(); |
| 32 | +ТекстJSON = "{""Имя"": ""Иван"", ""Возраст"": 30}"; |
| 33 | +
|
| 34 | +// Простой парсинг (результат - Соответствие или Структура) |
| 35 | +Результат = Парсер.ПрочитатьJSON(ТекстJSON); |
| 36 | +
|
| 37 | +// Чтение с принудительным приведением к Структуре |
| 38 | +РезультатСтруктура = Парсер.ПрочитатьJSON(ТекстJSON, , , Истина); |
| 39 | +``` |
| 40 | + |
| 41 | +### Запись JSON |
| 42 | + |
| 43 | +```bsl |
| 44 | +#Использовать json |
| 45 | +
|
| 46 | +Парсер = Новый ПарсерJSON(); |
| 47 | +
|
| 48 | +Данные = Новый Структура(); |
| 49 | +Данные.Вставить("firstName", "Иван"); |
| 50 | +Данные.Вставить("phoneNumbers", Новый Массив()); |
| 51 | +Данные.phoneNumbers.Добавить("812 123-1234"); |
| 52 | +
|
| 53 | +ТекстJSON = Парсер.ЗаписатьJSON(Данные); |
| 54 | +``` |
| 55 | + |
| 56 | +## Лицензия |
| 57 | + |
| 58 | +Библиотека распространяется под лицензией MIT (см. заголовок `src/json.os`). |
| 59 | + |
0 commit comments