Мы используем библиотеку protobuf-net для декодирования сообщений MQTT, предоставляемых программным обеспечением Inductive Automation - Ignition, которое основано на полезной нагрузке sparkplug_b.proto.
Мы сгенерировали код c # с отличным онлайнИнструмент Protogen (с проверкой «должен использовать Enum»)Так что теперь мы можем декодировать двоичные объекты сообщений, например, в читаемый человеком JSON (см. Ниже).Но тип данных не отображается со значением перечисления в JSON.net.В полезной нагрузке есть доступные перечисления. Нужно ли вносить изменения в автоматически сгенерированный код вручную, чтобы исправить это?
{
"Timestamp": 1538568112852,
"Metrics": [
{
"Name": "bdSeq",
"Timestamp": 1538568112852,
"Datatype": 4,
"IsNull": false,
"LongValue": 0
}
],
"Seq": 18446744073709551615
}
С уважением,