JSON序列化程序传递为null时的默认行为



我有一个ISerializer接口,它有几个不同的实现和一个简单的契约:

string Serialize<T>(T data);
T Deserialize<T>(string serializedData);

其中一个实现是JSON序列化程序。我正在讨论如果传递到这两个方法中的任何一个的值为null,它应该如何表现。它应该返回null吗?还是空字符串?我意识到这是一个设计决策,我很好奇其他人是如何处理的,我的决策中应该考虑什么样的问题或设计考虑因素?谢谢

如果对象为null,则应将其序列化为JSON null,并反序列化为C#null(反之亦然)。

但是,如果T是不可为null的类型(例如intTimespan),则会遇到问题。我不知道在那里该怎么做——通常行为(例如在json.net中)是返回零值——例如,试图将null反序列化为int会返回int 0。

相关内容

  • 没有找到相关文章

最新更新