在C#中,可以通过在JsonSerializerSettings中设置TypeNameHandling属性来保留类型信息。具体做法如下所示:
using Newtonsoft.Json;// 创建JsonSerializerSettings对象JsonSerializerSettings settings = new JsonSerializerSettings{ TypeNameHandling = TypeNameHandling.All};// 将对象序列化为json字符串string json = JsonConvert.SerializeObject(yourObject, settings);// 将json字符串反序列化为对象var deserializedObject = JsonConvert.DeserializeObject(json, settings);在上面的代码中,我们创建了一个JsonSerializerSettings对象,并将TypeNameHandling属性设置为TypeNameHandling.All来保留类型信息。然后,我们使用JsonConvert.SerializeObject方法将对象序列化为json字符串,并传入设置对象作为参数。最后,我们可以使用JsonConvert.DeserializeObject方法将json字符串反序列化为对象,并传入相同的设置对象。这样就可以保留类型信息了。


