#c# #xamarin.forms
#c# #xamarin.forms
Вопрос:
Я хочу получить данные в массив из базы данных, но я застрял здесь, нужно решить эту проблему
public class FeaturedItemList
{
public List<PagingProduct> products { get; set; }
}
public class PagingProduct
{
public string name { get; set; }
}
public class PagingProductRepository
{
public ObservableCollection<PagingProduct> pagingProducts { get; set; }
public FeaturedItemList products;
public PagingProductRepository() { }
public async void GetData()
{
var httpClient = new HttpClient();
var json = await httpClient.GetStringAsync("http://orangepotato.rjcpacking.com/index.php?route=api/login/getFeaturedProducts");
products = JsonConvert.DeserializeObject<FeaturedItemList>(json);
}
internal string[] names= new string[]
{
// Here i want to get data
};
если я использую статические данные, подобные этому
internal string names;
{
"1500 Reviews", "1000 Reviews", "1200 Reviews", "1400 Reviews", "1600 Reviews",
"1700 Reviews", "1800 Reviews", "1900 Reviews", "2500 Reviews", "1500 Reviews",
};
Это работает нормально, но мне нужно получить данные из базы данных
Комментарии:
1. Ваш вопрос неясен, потому что является неполным. Каково определение объекта FeaturedItemList ? Как это связано с массивом имен? Где вы ожидаете найти значения для помещения в массив имен?
2. я отредактировал свой вопрос и добавил 2 класса для вашего понимания
3. Использование async void — плохая практика, смотрите здесь
4. Я не вижу никакого кода, связанного с базой данных.
5. @JeroenHeier — У меня такое ощущение, что база данных взята из какого-то веб-сервиса. Возможно, название вопроса могло быть более четким.
Ответ №1:
что-то вроде:
var featuredItemList = JsonConvert.DeserializeObject<FeaturedItemList>(json);
names = featuredItemList.products.Select( p=> p.name ).ToArray();
Комментарии:
1. Очевидно, вам нужно было бы проверить, что json не является пустым, прежде чем обрабатывать его.