我正在將JSON對象保存到數據庫中,有時它會變得非常大(我有一個長度爲205,797個字符的對象)我想盡可能消除大小。這些對象有很多GUID字段,我不需要它們,如果有一種方法可以忽略任何序列化的GUID類型,它可能有助於消除大小。使用Json.NET序列化時忽略特定的數據類型?
這是我的代碼,我傳遞任何模型類型的對象,在我的應用程序:
public static string GetEntityAsJson(object entity)
{
var json = JsonConvert.SerializeObject(entity, Formatting.None, new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
});
return json;
}
編輯
我不想使用JsonIgnore
屬性,因爲我將不得不將它添加到許多類中,每個類都有很多GUID屬性, 我正在尋找像下面這樣的東西: IgnoreDataType = DataTypes.GUID
我知道,但我將要經過幾十個有很多的GUID類的! –
然後,你應該添加這個到你的問題。如果不更改類,您應該可以使用自定義合約解析器執行此操作,如下所述:https://stackoverflow.com/a/25769147/715348 –