Модуль Парсер данных JSON для программ-логгеров
Последняя версия: 5.0.1 build 1205. December 12, 2025.
Плагин JSON Data Parser предназначен для технических специалистов, которым нужно извлекать структурированные JSON-данные из непрерывного потока данных и сделать их доступными в виде переменных парсера для дальнейшей обработки. Плагин работает совместно с Advanced TCP/IP Data Logger, Advanced Serial Data Logger и Data Logger Suite. Он выделяет JSON из входящего потока данных, разбирает JSON в соответствии с правилами пользователя и экспортирует выбранные значения как типизированные элементы парсера. Эти элементы затем можно использовать в плагинах экспорта данных для передачи в базы данных, файлы, Excel, CSV или другие назначения.
Распространенные сценарии применения включают получение сообщений JSON через HTTP или TCP, через MQTT или из лог-файлов в формате JSON. Например, можно принимать HTTP POST-запросы с измерениями датчиков в формате JSON или получать обновления статуса устройств через MQTT. Плагин отделяет JSON от служебных заголовков и других служебных данных и создает внутренние переменные, такие как например temperature, device_id или STATUS. Такой подход упрощает построение систем автоматизации, контроля и логирования важных значений.
Плагин выполняет три основные задачи. Во-первых, он обнаруживает и извлекает JSON из смешанных потоков данных, которые могут содержать заголовки, разделители или другие служебные данные. Во-вторых, он парсит и фильтрует объекты JSON по правилам пользователя, включая выбор корневого объекта, фильтрацию по именам и ограничение глубины вложенности. В-третьих, он приводит разобранные значения к указанным типам данных и экспортирует их как переменные парсера, которые можно использовать в стандартных плагинах экспорта. Такой порядок обработки нормализует сложные входящие JSON-пакеты и представляет их в виде плоского набора пригодных для экспорта значений.
Данные JSON могут поступать из разных источников. В Advanced TCP/IP Data Logger они часто приходят от датчиков через HTTP или пользовательских TCP-служб. В Data Logger Suite данные могут поступать от MQTT брокеров, из текстовых лог-файлов или других поддерживаемых источников данных. Независимо от вида связи, плагин JSON Data Parser обрабатывает данные одинаково. На вкладках Данные JSON и Значения JSON задаются правила разбора. Созданные переменные парсера затем можно использовать во всех существующих модулях фильтрации и экспорта данных.
Основная концепция разбора и выбор корневого объекта
Ключевой настройкой является параметр Имя объекта. Это нечувствительное к регистру имя узла JSON, который содержит все значения, подлежащие экспорту. Например, если задать RootNode, плагин будет искать в каждом JSON-структуре объект с именем RootNode и экспортировать только его свойства и вложенные объекты. Это полезно, когда входящий JSON содержит несколько верхнеуровневых объектов, включает диагностические или метаданные, которые не требуется обрабатывать.
Рассмотрим следующий JSON-фрагмент, поступающий в логгер в виде потока данных:
{
"root1":{
"id":2,
"int":123,
"float":321.01
},
"root2":{
"id":2
}
}
Если задать Имя объекта равным root1, плагин разберет и экспортирует только значения из root1. Это означает, что свойства id, int и float станут переменными парсера, а объект root2 будет проигнорирован. Если не задать имя корневого объекта, то плагин будет экспортировать значения из всех найденных верхнеуровневых объектов, но указание имени объекта обычно является дополнительным уровнем проверки достоверности данных.
Пример интеграции с Advanced TCP/IP Data Logger
В качестве примера можно использовать HTTP-сценарий, где Advanced TCP/IP Data Logger прослушивает порт TCP и получает JSON-сообщения от IoT шлюза. Тело каждого HTTP запроса содержит объект JSON с данными датчика:
POST /data HTTP/1.1
Host: logger.local
Content-Type: application/json
{
"sensor":{
"id":"SENS01",
"timestamp":"2025-01-02 08:00:00",
"temperature":23.4,
"humidity":45.8
}
}Логгер будет получать весь запрос HTTP, включая служебные заголовки через TCP/IP. В плагине JSON Data Parser установите Имя объекта в sensor. Включите опцию Добавлять имя объекта к имени переменной, если хотите получить имена переменных вида SENSOR.ID, SENSOR.TEMPERATURE и SENSOR.HUMIDITY (в сочетании с опцией Экспорт имен переменных в верхнем регистре).
Во вкладке Значения JSON задайте правила, например:
- Имя: timestamp, Тип: Свойство, Действие: Извлекать, Тип данных: DateTime
- Имя: temperature, Тип: Свойство, Действие: Извлекать, Тип данных: Float
- Имя: humidity, Тип: Свойство, Действие: Извлекать, Тип данных: Float
Когда в 2025-01-02 08:00:00 поступит сообщение, плагин сформирует набор переменных парсера вида:
DATE_TIME_STAMP = 2025-01-02 08:00:00 SENSOR.ID = "SENS01" SENSOR.TIMESTAMP = 2025-01-02 08:00:00 SENSOR.TEMPERATURE = 23.4 SENSOR.HUMIDITY = 45.8
Эти элементы парсера можно передать в базу SQL с помощью модулей экспорта данных. Свяжите DATE_TIME_STAMP с колонкой метки времени, SENSOR.ID с колонкой идентификатора устройства, а поля температуры и влажности - с числовыми колонками.
Ключевые возможности
- Гибкий выбор корневого объекта для обработки только нужных секций сложных данных JSON.
- Возможность извлечения только необходимого значения из полного объекта.
- Настраиваемые параметры таймаута и максимальной глубины для надежной обработки фрагментированных или вложенных данных.
- Опции форматирования имен, которые добавляют имена родителя и преобразуют идентификаторы в верхний регистр для единообразия.
- Правила для фильтрации пакетов JSON с поддержкой действий "Игнорировать" или "Обрабатывать".
- Возможность задать тип данных значения.
- Очистка входящих данных от непечатаемых символов и управляющих кодов перед разбором.
Краткое резюме по JSON Data Parser
Плагин JSON Data Parser предоставляет управляемый и эффективный способ превращать данные JSON в структурированные переменные внутри Advanced TCP/IP Data Logger, Advanced Serial Data Logger и Data Logger Suite. Это может помочь вам повысить эффективность сбора данных в области интернета вещей и в бизнесе.
Как включить модуль
На рисунке ниже вы можете увидеть, как включить данных модуль в настройках программы на странице "Модули".

Рис.1. Выбор модуля.
Как настроить модуль
На рисунке ниже показан пример настроек модуля. Вы можете ознакомиться с файлом справки по ссылке выше, для получения более подробной информации.

Рис.2. Настройка модуля.
Другие похожие модули:
Все модули | ASCII данные (парсер и запросы) | MODBUS RTU, MODBUS TCP, MODBUS ASCII | Обработка данных от весов | DNP3 протокол | GE Fanuc Automation PLC (через протоколы CCM, SNP, SNP-X) | Siemens SIMATIK PLC (S7-200, S7-300, S7-400, S5) | EtherNet/IP | M-Bus | Bacnet/IP | IEC 62056-21 | DLMS/COSEM | DL-T645-2007 | Kamstrup [KMP протокол] | Модуль запроса и обработки данных для модулей ADAM, ICP-CON и NuDAM | RFC3164 (syslog протокол) | HTTP data parser | Файловые запросы | Парсер XML | CSV или разделенные табуляцией данные | RFID Reader Protocol Parser (LLRP, ISO 18000-6B, ISO 18000-6C) | Парсер JSON