public static void Main()
string output = JsonConvert.SerializeObject(test);
var a1 = JsonConvert.DeserializeObject<Order1>(output);
Console.WriteLine(JsonConvert.SerializeObject(a1));
Console.WriteLine("--------------------------------");
var a2 = JsonConvert.DeserializeObject<Order2>(output);
Console.WriteLine("缺少Name");
Console.WriteLine(JsonConvert.SerializeObject(a2));
Console.WriteLine("--------------------------------");
var a3 = JsonConvert.DeserializeObject<Order3>(output);
Console.WriteLine("多出Id1跟Name1");
Console.WriteLine(JsonConvert.SerializeObject(a3));
Console.WriteLine("--------------------------------");
var a4 = JsonConvert.DeserializeObject<Order4>(output);
Console.WriteLine("Id型別由int轉string");
Console.WriteLine(JsonConvert.SerializeObject(a4));
Console.WriteLine("--------------------------------");
var a5 = JsonConvert.DeserializeObject<Order1>("{}");
Console.WriteLine("反序列化 {}");
Console.WriteLine(JsonConvert.SerializeObject(a5));
Console.WriteLine("--------------------------------");
var a6 = JsonConvert.DeserializeObject<Order1>(string.Empty);
Console.WriteLine("反序列化 string.Empty");
Console.WriteLine(JsonConvert.SerializeObject(a6));
Console.WriteLine("--------------------------------");
JsonConvert.DeserializeObject<Order1>(null);
Console.WriteLine("反序列化 null");
Console.WriteLine(ex.Message);
Console.WriteLine("--------------------------------");
JsonConvert.DeserializeObject<Order1>("abc");
Console.WriteLine("反序列化 abc");
Console.WriteLine(ex.Message);
Console.WriteLine("--------------------------------");
JsonConvert.DeserializeObject<Order1>("{a}");
Console.WriteLine("反序列化 {a}");
Console.WriteLine(ex.Message);
Console.WriteLine("--------------------------------");
JsonConvert.DeserializeObject<Order5>(output);
Console.WriteLine("Name型別由sting改int");
Console.WriteLine(ex.Message);
Console.WriteLine("--------------------------------");
public int Id { get; set; }
public string Name { get; set; }
public int Id { get; set; }
public int Id { get; set; }
public string Name { get; set; }
public int Id1 { get; set; }
public string Name1 { get; set; }
public string Id { get; set; }
public string Name { get; set; }
public int Id { get; set; }
public int Name { get; set; }