Beispiel #1
0
        public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config)
        {
            JT809_0x9103 value = new JT809_0x9103();

            value.SubBusinessType = reader.ReadUInt16();
            writer.WriteString($"[{value.SubBusinessType.ReadNumber()}]子业务类型标识", ((JT809SubBusinessType)value.SubBusinessType).ToString());
            value.DataLength = reader.ReadUInt32();
            writer.WriteNumber($"[{value.DataLength.ReadNumber()}]后续数据长度", value.DataLength);
            value.Count = reader.ReadByte();
            writer.WriteNumber($"[{value.Count.ReadNumber()}]总数", value.Count);
            writer.WriteStartArray();
            for (int i = 0; i < value.Count; i++)
            {
                writer.WriteStartObject("子业务数据类型");
                JT809ManageMsgSNInform item = new JT809ManageMsgSNInform();
                item.SubBusinessType = reader.ReadUInt16();
                writer.WriteString($"[{item.SubBusinessType.ReadNumber()}]子业务类型标识", ((JT809SubBusinessType)item.SubBusinessType).ToString());
                item.MsgSN = reader.ReadUInt32();
                writer.WriteNumber($"[{item.MsgSN.ReadNumber()}对应得子业务数据类型报文序列号]", item.MsgSN);
                var virtualHex = reader.ReadVirtualArray(8);
                item.Time = reader.ReadUTCDateTime();
                writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]系统UTC时间", item.Time);
            }
            writer.WriteEndArray();
        }
Beispiel #2
0
        public JT809_0x9103 Deserialize(ref JT809MessagePackReader reader, IJT809Config config)
        {
            JT809_0x9103 value = new JT809_0x9103();

            value.SubBusinessType = reader.ReadUInt16();
            value.DataLength      = reader.ReadUInt32();
            value.Count           = reader.ReadByte();
            for (int i = 0; i < value.Count; i++)
            {
                JT809ManageMsgSNInform item = new JT809ManageMsgSNInform();
                item.SubBusinessType = reader.ReadUInt16();
                item.MsgSN           = reader.ReadUInt32();
                item.Time            = reader.ReadUTCDateTime();
                value.ManageMsgSNInform.Add(item);
            }
            return(value);
        }