Istnieje kilka sposobów, które można wyodrębnić pary klucz/wartość skonstruować słownika:
var dict = "[{\"key\":\"60236\",\"value\":\"1\"},
{\"key\":\"60235\",\"value\":\"gdsfgdfsg\"},
{\"key\":\"60237\",\"value\":\"1\"}]";
Korzystając List<KeyValuePair<int, string>>
var dictionary = JsonConvert.DeserializeObject<List<KeyValuePair<int, string>>>(dict)
.ToDictionary(x => x.Key, y => y.Value);
użyć niestandardowego obiektu, który reprezentuje swoich par, a następnie utworzyć słownik z Twojej kolekcji.
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; }
}
Wreszcie, jeśli jesteś niewygodne z użyciem niestandardowych „wyrzucenie” obiekt tylko dla deserializacji, można wziąć mały spadek wydajności i używać zamiast dynamiczny.
var dictionary = JsonConvert.DeserializeObject<List<dynamic>>(dict)
.ToDictionary (x => (int)x.key, y => (string)y.value);
zmienić na i sprawdzić, czy to rozwiązuje problem. klucz jest zdefiniowany między dwoma cytatami, które mogą być problemem –
faljbour