1

JSON.NET で特定のデータを逆シリアル化する際に問題があります。次の文字列は、JSON.NET 経由でシリアル化されていますが、正しく逆シリアル化されません。

{"ParentClause":null,"FilterClauseType":2,"FilterClauses":[ {"FilterClauseType":1,"FilterClauses":[],"ComparisonType":2,"FieldStaticName":"ContentType","Value": "Hidden","FieldValueType":2}, {"FilterClauseType":1,"FilterClauses":[],"ComparisonType":1,"FieldStaticName":"ContentType","Value":"Document","FieldValueType" :2}], "ComparisonType":null,"FieldStaticName":null,"Value":null,"FieldValueType":null}

JsonConvert.DeserializeObject()実行すると、配列の要素FilterClausesが明確に存在していても、それらがスキップされます。これは、メソッドのジェネリックまたは非ジェネリック オーバーロードのどちらを使用しても発生します。

これはバグですか、それともこれを修正する方法はありますか? custom を実装しようとしましJsonConverterたが、JReader渡されたものが例外をスローしています。

参考までに、これはクラス定義です。

class FilterClause 
{
    public FilterClause ParentClause {get; set;}
    public FilterClauseType FilterClauseType {get; set;}
    public IList<FilterClause> FilterClauses {get; set;}
    public ComparisonType? ComparisonType {get; set;}
    public String FieldStaticName {get; set;}
    public String Value {get; set;}
    public FieldValueType? FieldValueType {get; set;}

    public FilterClause()
    {
        FilterClauses = ImmutableList.Create<FilterClause>();
    }
}
4

1 に答える 1