Json получить элемент из массива в массиве C # Xamarin - PullRequest
0 голосов
/ 01 мая 2018

У меня есть следующий класс для моих данных Json, которые я получаю:

[JsonObject(MemberSerialization.OptIn)]
public class OrderInfoResult
{
    [JsonProperty("ok")]
    public Boolean OK { get; set; }
    [JsonProperty("menu")]
    public List<Menu> Menu { get; set; }
}
public class Menu
{
    [JsonProperty("id")]
    public string Id { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("icon-url")]
    public string IconUrl { get; set; }
    [JsonProperty("items")]
    public List<Menu> Items { get; set; }
}
public class Items
{
    [JsonProperty("id")]
    public string Id { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
    [JsonProperty("icon-url")]
    public string IconUrl { get; set; }
    [JsonProperty("price")]
    public int Price { get; set; }
}

Я пытаюсь получить элементы внутри меню, так что я могу без проблем использовать имя меню, используя цикл foreach, но когда я выполняю foreach внутри цикла, я не могу добраться до самого элемента .

У меня следующий цикл:

foreach (var desoi in deserializedOrderInfo.Menu)
{
  foreach (var desoiItem in desoi.Items)
  {
    var clickableBoxv = new RoundedBackgroundBoxView
    {
      CornerRadius = 6,
      Margin = new Thickness(0, 5, 0, 5),
      Index = HttpUtility.HtmlDecode(desoiItem.Id),
      Name = HttpUtility.HtmlDecode(desoiItem.Name),
      Price = HttpUtility.HtmlDecode(desoiItem.Price),
    };
  }
}

Используя это, я получаю сообщение об ошибке, что в меню нет «цены», а я думал, что «desoiItem» будет списком предметов, а не списком меню.

Как я могу использовать информацию в классе предметов?

1 Ответ

0 голосов
/ 01 мая 2018

У меня такое ощущение, что вместо этого нужно сказать List<Items>:

public List<Menu> Items { get; set; }

(И я бы переименовал класс в MenuItem или что-то еще, так как имя класса во множественном числе, например Items, для одного элемента странно)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...