哪些 JSON 序列化程序可以处理 C# 的字典<TKey,T>
Which JSON Serializers can handle C#'s Dictionary<TKey,T>
我使用 .Net 4.x 中的几个序列化程序已有一段时间,我认为我从 .Net 中继承了它们 3.5 次。我刚刚意识到,当时大多数这些序列化程序通常无法序列化和反序列化任何 C# 字典。
在我现在正在重构的代码中,我看到了一些解决方法,例如流出一个 List 而不是一个 Dictionary(我认为这是一个解决方法,我想避免,而是使用序列化程序的内置功能)。
您最喜欢的 JSON 序列化程序的状态如何?
此外:您知道您的序列化程序是否符合 JSON API 吗? (JSONAPI.org)
http://www.newtonsoft.com/json 是我用得最多的一个。速度更快且非常灵活的一种。它是 asp.net MVC/WebAPI
使用的默认序列化器
https://github.com/kevin-montrose/Jil 由 Whosebug 使用,非常 快。
Jsonapi 是一个更高级别的问题。它不会改变 json 是 de/serialized 的方式。对于 shape/format 到 return 你的数据,它只是一种模式、一种约定、一种标准、一种模式。它与选择哪个序列化程序没有太大关系。
经过多年使用不同的序列化程序并尝试让它们处理各种集合类型之后,我得出了一个结论:
通常最好将我的复杂对象转换为简单的 DTO(数据传输对象),这些对象只具有简单的 public 属性(或字段),所有“集合”都包含数组。然后所有序列化器都可以应对,包括我还不知道的序列化器,但必须移植到明年......
也就是说,多写点代码,但至少是睡着了还能写的代码! Automapper 还可以帮助减少创建 DTO 所需的自定义代码量。
我使用 .Net 4.x 中的几个序列化程序已有一段时间,我认为我从 .Net 中继承了它们 3.5 次。我刚刚意识到,当时大多数这些序列化程序通常无法序列化和反序列化任何 C# 字典。
在我现在正在重构的代码中,我看到了一些解决方法,例如流出一个 List
您最喜欢的 JSON 序列化程序的状态如何?
此外:您知道您的序列化程序是否符合 JSON API 吗? (JSONAPI.org)
http://www.newtonsoft.com/json 是我用得最多的一个。速度更快且非常灵活的一种。它是 asp.net MVC/WebAPI
使用的默认序列化器https://github.com/kevin-montrose/Jil 由 Whosebug 使用,非常 快。
Jsonapi 是一个更高级别的问题。它不会改变 json 是 de/serialized 的方式。对于 shape/format 到 return 你的数据,它只是一种模式、一种约定、一种标准、一种模式。它与选择哪个序列化程序没有太大关系。
经过多年使用不同的序列化程序并尝试让它们处理各种集合类型之后,我得出了一个结论:
通常最好将我的复杂对象转换为简单的 DTO(数据传输对象),这些对象只具有简单的 public 属性(或字段),所有“集合”都包含数组。然后所有序列化器都可以应对,包括我还不知道的序列化器,但必须移植到明年......
也就是说,多写点代码,但至少是睡着了还能写的代码! Automapper 还可以帮助减少创建 DTO 所需的自定义代码量。