Я пытаюсь десериализовать JSON в C# объект с помощью Newtonsoft Json.
Мой json выглядит так:
{"something" : [ "key1" : "value1", "key2" : "value2"]}
Но это не полный json. Так что это должно быть частью большого объекта. Я не могу использовать это решение JSON массив в C# Словарь , потому что я использую
JsonConvert.DeserializeObject<MyObject>(json);
Можно ли инициализировать объект, как это?
public class Something
{
[JsonProperty]
public Dictionary<string, string> MyDictionary;
}
Но когда я пытаюсь это сделать, я получаю исключение:
Newtonsoft. Json .JsonSerializationException: 'Невозможно десериализовать текущий массив JSON (например, [1,2,3] ) в тип 'System.Collections.Generi c .Dictionary`2 [System.String, ConsoleApp4.TxPerfMeasurements]', поскольку тип требует объекта JSON (например, {"name": "value"}) для правильной десериализации , Чтобы исправить эту ошибку, измените JSON на JSON объект (например, {"name": "value"}) или измените десериализованный тип на массив или тип, который реализует интерфейс коллекции (например, ICollection, IList) как List, который можно десериализовать из массива JSON. JsonArrayAttribute также можно добавить к типу, чтобы принудительно десериализовать его из массива JSON.