繁体   English   中英

为什么protobuf-net反序列化的DataType对象没有显示Enum值?

[英]why is protobuf-net deserialized DataType object not displayed with Enum value?

我们使用protobuf-net库来解码从归纳自动化-点火软件提供的MQTT消息,该软件基于sparkplug_b.proto有效负载。

我们已经使用强大的在线原型工具生成了c#代码(选中了“应该使用Enum”)。 因此,现在我们能够将二进制消息对象解码为例如人类可读的JSON(请参见下文)。 但是JSON.net不会与枚举值一起显示“数据类型”。 在有效负载中有可用的枚举,我们是否必须对自动生成的代码进行手动更改才能解决此问题?

{
  "Timestamp": 1538568112852,
  "Metrics": [
    {
      "Name": "bdSeq",
      "Timestamp": 1538568112852,
      "Datatype": 4,
      "IsNull": false,
      "LongValue": 0
    }
  ],
  "Seq": 18446744073709551615
}

真诚的

我以为你在说

public ValueOneofCase ValueCase => (ValueOneofCase)__pbn__value.Discriminator;

我想也许你的JSON序列可能被跳过,因为没有一个“套”?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM