这段代码:
var commandMessage = new CommandMessage { CorrelationId = Guid.NewGuid() };
var json = JsonConvert.SerializeObject(commandMessage);
var myCommandMessage = (CommandMessage)JsonConvert.DeserializeObject(json);
Run Code Online (Sandbox Code Playgroud)
给出此错误消息:
Additional information: Unable to cast object of type 'Newtonsoft.Json.Linq.JObject' to type 'QueueConnectionStringTester.CommandMessage'
Run Code Online (Sandbox Code Playgroud)
这是CommandMessage类:
public class CommandMessage
{
public Guid CorrelationId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
Bri*_*ers 22
您需要在反序列化时指定类型.
或者:
var myCommandMessage = JsonConvert.DeserializeObject<CommandMessage>(json);
Run Code Online (Sandbox Code Playgroud)
要么:
var myCommandMessage = (CommandMessage)JsonConvert.DeserializeObject(json, typeof(CommandMessage));
Run Code Online (Sandbox Code Playgroud)
小智 5
您需要给出类型。JsonConvert 类不了解您的 CommandMessage 类的任何信息
public class CommandMessage
{
public Guid CorrelationId { get; set; }
}
static void Main(string[] args)
{
var commandMessage = new CommandMessage { CorrelationId = Guid.NewGuid() };
var json = JsonConvert.SerializeObject(commandMessage);
var myCommandMessage = JsonConvert.DeserializeObject<CommandMessage>(json);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27726 次 |
| 最近记录: |