Код: Выделить всё
public class SomeClass
{
public int Id { get; set; }
public Dictionary Items { get; set; }
}
Необработанный компонент рендеринга исключений: невозможно десериализовать текущий массив JSON (например, [1,2,3] ) в тип 'System.Collections.Generic.Dictionary`2[System.String,System.Decimal]', поскольку для этого типа требуется объект JSON (например, {"name":"value"}) для правильно десериализовать.
Чтобы исправить эту ошибку, либо измените JSON на объект JSON (например, {"name":"value"}), либо измените десериализованный тип на массив или тип, реализующий интерфейс коллекции (например, ICollection). , IList), например List, который можно десериализовать из массива JSON. JsonArrayAttribute также можно добавить к типу, чтобы заставить его десериализоваться из массива JSON.
Это потому, что ответ от Graphql возвращается как массив объектов JSON. для словаря, и из-за вышеуказанной ошибки он не преобразуется в словарь. Я знаю, что могу написать конвертер для его десериализации с помощью сериализатора Graphql Newtonsoft, но есть ли лучший подход к обработке словарей для отправки с серверной части на клиентскую сторону?
Подробнее здесь: https://stackoverflow.com/questions/793 ... dictionary