Разбор json на общий список в C#

#json #.net #asp.net-mvc #c#-4.0

Вопрос:

У меня есть Json, как пара имен значений. Мне нужно преобразовать в общий список.

{ «параметры»: { «32»: «S», «4»: «SM», «33»: «M», «34»: «L», «35»: «XL», «37»: «XXL», «38»: «XXXL» } }

Мой класс, как

 public class Options
{
    public int optionId { get; set; }
    public string OptionName { get; set; }
}
 

Как преобразовать json в List<Options>

Ответ №1:

Сначала преобразуйте свой json в Dictionary<string, string> , а затем преобразуйте его в свою модель следующим образом:

   public class OptionDictionary
    {
        public Dictionary<string, string> Options { get; set; }
    }
    public class Options
    {
        public int OptionId { get; set; }
        public string OptionName { get; set; }
    }
  
  var list = JsonConvert.DeserializeObject<OptionDictionary>(json).Options.Select(x=>new Options(){OptionId = int.Parse(x.Key), OptionName = x.Value}).ToList();