【发布时间】:2014-09-28 16:01:25
【问题描述】:
目前我有通过 HTTP 调用传入或存储在数据库中的 JSON,但在服务器处理期间它们被映射到 C# 对象。
这些对象具有public List<int> MyArray 之类的属性。
当 JSON 包含 MyArray:null 时,我希望结果属性为空的 List<T> 而不是空的 List<T> 属性。
目标是对象将“重新序列化”为 JSON 为 MyArray:[],从而保存到数据库或通过 HTTP 作为空数组而不是 null 响应。
这样,无论如何,C# 类基本上是为任何 List<T> 属性清理并强制执行一个空数组,否则该数组将是 null 并导致浏览器端代码中断(例如:@987654329 @)。
有没有办法在序列化/反序列化过程中让任何与List<T> 属性配对的空值变成一个空数组?
【问题讨论】: