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(); }
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); }