queryBuilder.js — Как я могу преобразовать правила JSON в IFilterRule?

#asp.net-mvc #asp.net-mvc-4 #jquery-query-builder

Вопрос:

Мы храним запросы фильтра в базе данных в виде строки JSON

Однако при попытке преобразовать это в IFilterRule возникает ошибка

Я извлекаю запрос и пытаюсь десериализовать его в IFilterRule

 var includeQuery = JsonConvert.DeserializeObject<IFilterRule>(x.IncludeQuery);
var data = _usedService.Find(id).BuildQuery(includeQuery).ToList();
 

Но это выдает эту ошибку, есть какие-нибудь идеи о том, что я делаю не так?

 Could not cast or convert from System.String to Castle.DynamicLinqQueryBuilder.IFilterRule.

[ArgumentException: Could not cast or convert from System.String to Castle.DynamicLinqQueryBuilder.IFilterRule.]
   Newtonsoft.Json.Utilities.ConvertUtils.EnsureTypeAssignable(Object value, Type initialType, Type targetType)  244
   Newtonsoft.Json.Utilities.ConvertUtils.ConvertOrCast(Object initialValue, CultureInfo culture, Type targetType)  123
   Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType)  486

[JsonSerializationException: Error converting value "{
    condition: "AND",
    rules: [
        {
            id: "Status",
            field: "Status",
            type: "integer",
            input: "checkbox",
            operator: "in",
            value: [
                2,
                3
            ]
        }
         ],
    "valid": true
}" to type 'Castle.DynamicLinqQueryBuilder.IFilterRule'. Path '', line 1, position 335.]