Вы можете использовать Newtonsoft.Json
для десериализации вашего JSON в словарь.
Во-первых, создайте класс Item
(или любое другое имя класса, которое вы выберете).
public class Item
{
[JsonProperty("Id")]
public int Id { get; set; }
[JsonProperty("description")]
public string Description { get; set; }
}
Во-вторых, десериализуйте ваш json, используя JsonConvert.DeserializeObject()
, и назначьте ключ как Description
, а значение как Id
, используя Enumerable.ToDictionary()
. Кроме того, поскольку ваши данные представляют собой массив JSON, вы должны десериализоваться до IEnumerable<Item>
, чтобы получить правильные результаты.
var json = "[{ \"Id\":183,\"description\":\"blahblahblah\"},{ \"Id\":184,\"description\":\"blehblehbleh\"},{ \"Id\":1000,\"description\":\"and so on...\"}]";
var deserializedJsonDict = JsonConvert
.DeserializeObject<IEnumerable<Item>>(json)
.ToDictionary(entry => entry.Description, entry => entry.Id);
foreach (var entry in deserializedJsonDict)
{
Console.WriteLine($"Key={entry.Key}, Value={entry.Value}");
}
Вывод ключей и значений словаря:
Key=blahblahblah, Value=183
Key=blehblehbleh, Value=184
Key=and so on..., Value=1000