哪些JSON序列化程序可以处理C#的词典<tkey,t>

时间:2016-03-23 21:23:35

标签: c# json dictionary serialization json-api

我一直在使用.Net 4.x中的几个序列化程序,并认为我从.Net继承了它们3.5次。我刚才意识到当时大多数这些序列化程序都无法对任何C#字典进行序列化和反序列化。

在我正在重构的代码中,我看到的工作区就像流式传输一个List&lt; T&gt;而不是字典&lt; string,T&gt; (我认为这是一种解决方法,希望避免使用串行器的内置功能)。

您最喜欢的JSON序列化程序的状态是什么?

另外:您知道您的序列化程序是否符合JSON API吗? (JSONAPI.org)

2 个答案:

答案 0 :(得分:0)

http://www.newtonsoft.com/json是我最常用的。其中一个更快,更灵活。它是asp.net MVC / WebAPI

使用的默认序列化程序 StackOverflow使用

https://github.com/kevin-montrose/Jil非常快。

Jsonapi是一个更高层次的关注。它不会改变json的序列化方式。它只是一种模式,约定,标准,模式,用于返回数据的形状/格式。它与选择哪个序列化程序没什么关系。

答案 1 :(得分:0)

经过多年不同序列化的经验并试图让他们应对各种类型的收集类型,我得出了一个结论:

通常最好将我的复杂对象转换为简单的DTO(数据传输对象),它们必须具有简单的公共属性(或字段),并且所有“集合”都包含数组。然后所有序列化程序都可以应对,包括我还不知道的序列化程序,但是必须移植到明年......

换句话说,编写更多代码,但至少它是我可以在睡眠中编写的代码! Automapper还可以帮助减少创建DTO所需的自定义代码量。