这里有点小问题,我要序列化一个字典,它包含string
, integers
, object
现在我正在遍历字典
var data ="";
foreach (var dict in dictObject)
{
var value = JsonConvert.SerializeObject(dict.value, Formatting.Indented,new JsonSerializerSettings()
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
Converters = new List<JsonConverter>
{
new IsoDateTimeConverter(){DateTimeFormat = "yyyy-MM-dd hh:mm:ss"}
}
});
data += dict.key +"="+ value;
}
现在我不希望Json.Net
序列化该字典中的string
, integers
。因为很少有字符串包含rn
,并且那里的事情变得混乱。
所以我希望它跳过strings
和integers
,但字典可能包含DateTime
等东西。我只指出字符串和整数作为例子。
字典包含我自己的自定义类,entity classes
, integers
, strings
, date time
等。我只想让JSON.NET
序列化我自己的自定义类和实体类。
您可以在序列化字典之前对其进行过滤,例如通过Assembly:
var customTypesAssembly = typeof(CustomClass).Assembly;
var filteredDictionary = dictionary.Where(x => x.Value.GetType().Assembly == customTypesAssembly)
.ToDictionary(x => x.Key, x => x.Value);
var json = JsonConvert.SerializeObject(filteredDictionary);