在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字符串反序列化為對象,并傳入相同的設置對象。這樣就可以保留類型信息了。