У меня есть следующий класс для моих данных 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» будет списком предметов, а не списком меню.
Как я могу использовать информацию в классе предметов?