#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.]