Есть несколько способов, которые вы можете извлечь ваши пары ключ/значение для построения словаря:
var dict = "[{\"key\":\"60236\",\"value\":\"1\"},
{\"key\":\"60235\",\"value\":\"gdsfgdfsg\"},
{\"key\":\"60237\",\"value\":\"1\"}]";
Использование List<KeyValuePair<int, string>>
var dictionary = JsonConvert.DeserializeObject<List<KeyValuePair<int, string>>>(dict)
.ToDictionary(x => x.Key, y => y.Value);
использовать пользовательский объект, который представляет ваши пары, а затем создать словарь из вашей коллекции.
var output = JsonConvert.DeserializeObject<List<Temp>>(dict);
var dictionary = output.ToDictionary(x => x.Key, y => y.Value);
public class Temp
{
public int Key { get; set; }
public string Value { get; set; }
}
Наконец, если вам неудобно с помощью пользовательского «холостого» объекта только для десериализации, вы можете взять крошечный удар по производительности и использовать динамическую вместо этого.
var dictionary = JsonConvert.DeserializeObject<List<dynamic>>(dict)
.ToDictionary (x => (int)x.key, y => (string)y.value);
измените значение на и проверьте, не устраняет проблему. ключ определяется между двумя цитатами, что может быть проблемой –
faljbour