【发布时间】:2022-01-17 18:15:24
【问题描述】:
我有一个通过 MQTT 发送这个 JSON 的 Python 代码。
message = {
"name":"Alex",
"date": 2021,
"activity":["act1","act2","act3"],
}
然后我在 C# 脚本中接收并反序列化它
public void Client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e)
{
var Message = System.Text.Encoding.Default.GetString(e.Message);
Dictionary<string, string> MessageDICT = JsonConvert.DeserializeObject<Dictionary<string, string>>(Message);
}
"name" 和 "date" 键在反序列化到字典中没有问题。但是,"activity" 会出现错误,因为它是一个数组。它指出“解析值时遇到意外字符:[”。我见过他们分别反序列化它的方法(数组在不同的消息中发送),但这不是我想要的。有没有办法可以将整个消息反序列化?
谢谢。
【问题讨论】:
-
请标记 c# 或 python,但最好不要同时标记。这很令人困惑,因为所需的结果实际上是用 c# 编码的,而不是 python。