我正在使用Json.NET。有没有简单的方法可以在反序列化期间禁止数组中的空项目?这是描述我要实现的目标的测试
public class Container
{
public IReadOnlyCollection<ContainerItem> Array { get; set; }
}
public class ContainerItem
{
public int Value { get; }
public ContainerItem(int value)
{
Value = value;
}
}
[Fact]
public void ShouldThrowDeserializerErrorWhenArrayHasNullItems()
{
// here is null item which I don't like
var json = @"{
""array"" :
[
{ ""value"" : 1 },
{ ""value"" : 2 },
null
]
}";
Action action = () => JsonConvert.DeserializeObject<Container>(json);
action.ShouldThrow<JsonSerializationException>();
}
我找到了属性[JsonArray(AllowNullItems = false)]
。我可以以某种方式使用它而不创建代表数组容器的新类吗?我想避免这种情况。