0

我在这里遇到了一个小问题,我想序列化一个字典,它包含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因为很少有字符串包含\r\n,并且那里的事情变得一团糟。

所以我希望它跳过stringsand integers,但字典可能包含DateTime等等等等的东西。我仅指出字符串和整数作为示例。

字典包含我自己的自定义类、、、、、entity classes等等integers等等。我只想序列化我自己的自定义类和实体类。stringsdate timeJSON.NET

任何帮助,将不胜感激。

4

1 回答 1

0

您可以在序列化之前过滤您的字典,例如通过组装:

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);
于 2013-03-16T14:09:20.220 回答