反序列化JSON,有时值是一个数组,有时是“”(空字符串)

时间:2010-12-31 23:51:18

标签: c# .net json.net

我正在尝试反序列化字段:

"presenters":[{...},{...}]

但有些行只返回:

"presenters":""

当序列化程序到达具有该空字符串的行时,我得到:

  

将值“”转换为类型'System.Collections.Generic.List`1 [DataPrototype.Model.Presenter]'时出错。

我是否正确地认为我需要一个将空字符串更改为空列表的JsonConverter?

1 个答案:

答案 0 :(得分:3)

在JsonConverter中测试来自JsonReader的令牌类型。

如果是字符串则返回null。

如果它是数组的开头,那么使用传递给converter方法的JsonReader和JsonSerializer来反序列化数组。