MandrillApp API据说会发送一个MIME类型为application/x-www-form-urlencoded
的JSON编码消息数组。
我遇到的问题是收到的数据看起来像这样:
mandrill_events=%5B%7B%22event%22%3A%22send%22
%2C%22msg%22%3A%7B%22ts%22%3A136510999...etc
它经过URL解码后是:
mandrill_events=[{"event":"send","msg":{
"ts":1365109999,"subject"...etc
我尝试将此字符串反序列化为表示JSON数据的类,但JSON.NET反序列化程序报错。
代码
m = JsonConvert.DeserializeObject<MandrillEvents>(s);
异常
解析值时遇到意外字符:m。路径',第0行,第0个位置。
根据我的理解,字符串中的mandrill_events=
部分是无效的。
- 这个字符串应该能够被反序列化吗?
- 在反序列化时,是否有我遗漏的选项?
- 我该如何处理这个问题?
List<MandrillEvent>
,因为 JSON 是一个数组,而不是单个对象。 - Brian RogersMandrillEvent
,它具有属性mandrill_events
,这是一个WebHookEvent
数组。但从外观上看,那真的不是问题所在。 - Ablue