JSON -> Дерево значений

13.02.24

Разработка - Инструментарий разработчика

Очередной просмотрщик json-структуры

Скачать файлы

Наименование Файл Версия Размер
JSON в ДеревоЗначений
.epf 8,80Kb
58
.epf 8,80Kb 58 Скачать

Всем привет!

В процессе очередной отладки родилась обработка - очередной вариант просмотрщика json-структуры.

От чего хотелось уйти в алгоритмах, которых полно в сети интернет => если вы смотрите на результат чтения json-структуры, то видите повторение узлов - повторение Параметров - и не понятно, то ли это очередной Параметр, то ли это элемент списка (элемент Массива) - см.рис.

 

 

В обработке, которая представлена в текущей публикации, подобных вопросов не возникнет -  слева вы вставляете текст json, справа видите результат чтения json-структуры в формате дерева значений.

Достоинства такого нового просмотрщика:

1) не используются файлы - это неудобно для больших файлов, но удобно для отладки процесса чтения json-структуры - вы только копируете содержимое json-файла (через любой текстовый редактор) и вставляете в левое поле обработки. В одном окне видите и json и дерево значений в 1с.

2) дерево значений json-структуры содержит три (!), а не два поля для просмотра и анализа - это Параметр, Значение параметра и Тип параметра (в обработке это ТипЭлемента - отсылка к тому, что это в первую очередь элемент списка, список в json-структуре описывается типом "Массив").

3) в дерево значений добавляется "служебный" узел с номером индекса - только для элементов Массива - для того, чтобы посмотреть на структуру и сразу понять, что этот узел является элементом Массива, а не узлом очередного Параметра - см. рисунок.

 

Очередное обновление:

1) добавил сохранение текста json, который слева анализируем - при открытии восстанавливается, при закрытии сохраняется.

2) добавил поиск по параметру по дереву - с выделением строки желтым цветом для найденного параметра - см. рис.

3) добавил поле "Команда" - по сути это строка кода (алгоритма) для вызова и получения значения соответствующего параметра (см. рис. ниже).

Надо учитывать, что переменная Данные - это структура нашего json-текста, которую мы получаем.

Просто скопируйте соответствующую команду в поле согласно стрелке как на рисунке - результат появится справа (кроме случаев Неопределено). Что-то подобное вы видите в конфигураторе в отладчике выражений.

Обработка создана на платформе 1С:Предприятие 8.3 (8.3.18.1289), на пустой конфигурации для Обычных Форм. Для управляемых форм будет реализовано в будущем - подписывайтесь на комментарии - сообщу дополнительно через них.

Всем добра!

 
 См. также другие разработки

1) Подбор товаров по характеристикам (свойствам и значениям)

2) Как свернуть базу УТ 10.3

3) Сравнение запросов

4) Ввод показателей план-факта через табличный документ

5) Доработка конфигурации Конвертация Данных (вер. 2.1.8.2)

6) Поиск ссылок на любой справочник в документах на УФ

7) Поиск сотрудника и поиск физлица в документах ЗУП

8) Поиск контрагента в документах для управляемых форм

9) Поиск номенклатуры в документах

10) Параллельные вычисления

11) УТ 11.4. Счет на оплату с факсимиле

12) УНФ. Список заказов + Структура подчиненности

13) Удаление справочников для любых баз на управляемых и обычных формах

14) Неиндексированные измерения регистров сведений. В помощь 1С:Эксперту

15) Удаление документов для любых баз на управляемых формах

16) Удаление чеков ККМ в Рознице 2.2

17) Договоры для 1с-ника

Из последнего опубликованного:

18) Перенумерация документов и справочников с учетом префиксов (учет уникальности кодов) для управляемых форм

19) Анализ прав и ролей: поиск подходящего профиля

20) Оцифровка и визуализация склада

 

Проверено на следующих конфигурациях и релизах:

  • Управление торговлей, редакция 10.3, релизы 10.3.87.1

json дерево значений

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122187    673    389    

714

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 15300 руб.

06.10.2023    7305    22    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3549    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177762    1074    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99355    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18120    6    8    

40

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28111    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23605    15    15    

32
Отзывы
1. dusha0020 1103 21.12.21 13:55 Сейчас в теме
Простенько и со вкусом. Спасибо за готовое решение. Когда-то решал подобную задачу для xml. А вот для json уже не нужно будет, если понадобится:)
AlexK_2012; RustIG; +2 Ответить
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. dusha0020 1103 21.12.21 13:55 Сейчас в теме
Простенько и со вкусом. Спасибо за готовое решение. Когда-то решал подобную задачу для xml. А вот для json уже не нужно будет, если понадобится:)
AlexK_2012; RustIG; +2 Ответить
2. starik-2005 3033 21.12.21 14:10 Сейчас в теме
В действительности, json в дерево нужен только тогда, когда нет понимания, как это в принципе работает. Я как раз указал в комиентах к публикации своей, что механизм родился в ходе решения задачи клиента, который хотел сначала поглядеть, что там и как, а потом выдернуть что-то (кстати, у него это и с визуализацией не получилось - тут ведь от общего непонимания все пляшет).

Объекты работы с json в 1С отлично раскатывают объект в структуру или соответствие, которых ну просто за глаза и за уши хватает для того, чтобы не пложить такие вот сущности.

В принципе я объяснил, почему в ваш там споо не ввязывался. Смысл спорить о том, что один костыль лучше другого)))
3. RustIG 1351 21.12.21 15:37 Сейчас в теме
4. RustIG 1351 21.12.21 15:57 Сейчас в теме
(2) я почерпнул много полезного из вашей публикации, за нее дополнительное отдельное спасибо. всем рекомендую.
5. RustIG 1351 21.12.21 20:18 Сейчас в теме
Обновление от 21-12-2021:

1) добавил сохранение текста json, который слева анализируем - при открытии восстанавливается, при закрытии сохраняется.

2) добавил поиск по параметру по дереву - с выделением желтым цветом строки найденного параметра - см. рис. в публикации.
9. uno-c 234 22.12.21 12:20 Сейчас в теме
не туда прикрепился ответ)
6. RustIG 1351 21.12.21 22:44 Сейчас в теме
Обновление от 21-12=2021, часть 2:
1) добавил упорядочение списка параметров для быстрого поиска по кнопке;
2) добавил раскрытие узлов дерева для найденных параметров;
3) добавил кнопку сворачивания узлов дерева;
4) добавил команды для получения значений нужных параметров - с проверкой полученного результата.
7. uno-c 234 22.12.21 11:38 Сейчас в теме
В Файрфоксе файлы *.json всегда открываю - наглядно и удобно.
8. RustIG 1351 22.12.21 12:06 Сейчас в теме
(7) открыли, а что потом делаете?
как в 1с с ним работаете?
10. uno-c 234 22.12.21 12:21 Сейчас в теме
(8)
примерно то же
добавил сохранение текста json, ...
добавил поиск по параметру по дереву -...
добавил раскрытие узлов ...
добавил кнопку сворачивания узлов ...

и тд

В 1С я в конфигураторе с ними работаю, если повезет - то со структурой, если не очень - то с соответствием. Делаю интеграции с АПИ разных инфосистем.
https://den1c.wordpress.com
11. RustIG 1351 22.12.21 12:32 Сейчас в теме
(10)
В 1С я в конфигураторе с ними работаю

как вы программно вытаскиваете параметры и их значения?
отлаживаете через отладчик?
последовательно обходите все параметры с проверкой на имя параметра?
13. uno-c 234 22.12.21 12:52 Сейчас в теме
(11) Смотрю в Файрфоксе, ищу что надо - и пошли в конфигуратор (отладчик или сразу в текст модуля к свойствам структуры/соответствия)
15. RustIG 1351 22.12.21 13:01 Сейчас в теме
(13)
Смотрю в Файрфоксе, ищу что надо - и пошли в конфигуратор (отладчик или сразу в текст модуля к свойствам структуры/соответствия)


Хорошо, я понимаю вас.
Спасибо за ответ)
12. RustIG 1351 22.12.21 12:39 Сейчас в теме
(7)
В Файрфоксе файлы *.json всегда открываю - наглядно и удобно.

Спасибо за информацию - попробовал, удобно!
Раз это появилось в фаерфоксе - значит давно уже пора что-то подобное реализовать в 1с.
А вообще, фаерфокс открывает только файлы в формате .json
Но json это не только формат файлов - это еще формат структурированного хранения информации - то есть его можно упаковать в любой текстовый формат файлов txt, csv и другие. И эти другие форматы фаерфокс уже не читает....
Да и потом, есть еще обмены между 1с-базами - мы не затрагивали эту тему совсем - полагаю, что фаерфокс не справится с типами 1с-документов.
14. uno-c 234 22.12.21 12:53 Сейчас в теме
(12) Ну да, удобно, для информации написал, вдруг пригодится кому. В Файрфоксе так выглядит:
Прикрепленные файлы:
16. RustIG 1351 22.12.21 13:05 Сейчас в теме
(14) пригодится! спасибо !
17. uno-c 234 22.12.21 13:08 Сейчас в теме
(12)
А вообще, фаерфокс открывает только файлы в формате .json

Вообще насколько помню он ответ http-сервера так же открывает, если тот шлет в заголовке Content-type:application/json. Но то из специфической среды интеграций, в повседневной жизни программиста 1С редко встречается.
18. RustIG 1351 22.12.21 14:12 Сейчас в теме
(17) откроет - не сомневаюсь
19. mike002 22.12.21 15:58 Сейчас в теме
Для Честного знака неактуально. С 1.01.2022 обмен только через документооборот.
20. RustIG 1351 22.12.21 16:36 Сейчас в теме
(19) спасибо за информацию.
значит сделал просто просмотрщик.
21. RustIG 1351 23.12.21 07:48 Сейчас в теме
Кто-нибудь знает как выгрузить в json структуру свойства объектов 1С (типов платформы 1С), чтобы затем собрать (разобрать) в дерево, как на картинке .
На картинке представлен отладчик конфигуратора, а хотелось бы такое увидеть в пользовательском режиме...
Прикрепленные файлы:
22. JohnyDeath 301 23.12.21 08:28 Сейчас в теме
В замечательном опенсорс проекте Универсальные инструменты 1С для управляемых форм
есть вот такой очень удобный редактор JSON

Преобразует не только текст в структуру (дерево), но и подсветит парные скобки, покажет где есть ошибки. Умеет фильтровать/сортировать и делать прочие полезные и приятные вещий с JSON.
В общем, рекомендую
23. RustIG 1351 23.12.21 11:34 Сейчас в теме
(22) спасибо за информацию!
удобный редактор JSON

если честно, я не хотел бы редактировать json в дереве - задача и цели другие :)
24. JohnyDeath 301 23.12.21 11:37 Сейчас в теме
(23) слева - редактор, справа - дерево по этому тексту.
Или надо было назвать Удобный редактор и Дерево JSON? ))
25. RustIG 1351 23.12.21 12:30 Сейчас в теме
(24) есть интерес разложить типы платформы 1с на свойства - чуть выше спросил об этом.
поскольку обращение к ним происходит через точку как обращение к элементу дерева json - только сравните приложенные скрины обработки и отладчика - похожи друг на друга.... но я понимаю, что по форме похожи, по содержанию разные...
по поводу редактуры json - а разве нельзя отредактировать в любом текстовом редакторе, например Notepad++?
Оставьте свое сообщение