Как получить данные json с помощью синхронизации страниц просмотра страниц веб-приложений для форм xamarin? - PullRequest
0 голосов
/ 28 марта 2019

Я хочу получить данные из базы данных через webapi и показать в виде списка, но с lsitview я хочу использовать подкачку страниц.Я использую Syncfusion для просмотра списка.Я сделал некоторую часть, но я получаю ошибку

ошибка, которую я получаю: «Невозможно десериализовать текущий объект JSON (например, {« name »:« value »}) в тип« System.Collections.Generic.Список`1 '

private List<products> products = new List<products>();
var httpClient = new HttpClient();
var json = await httpClient.GetStringAsync("http://orangepotato.rjcpacking.com/index.php?route=api/login/getFeaturedProducts");
protected async void FeaturedList()
        { products = JsonConvert.DeserializeObject<List<products>>(json);
 dataPager.Source = products;
}
void Handle_OnDemandLoading(object sender, Syncfusion.SfDataGrid.XForms.DataPager.OnDemandLoadingEventArgs e)
        {
            var source= products.Skip(e.StartIndex).Take(e.PageSize);
            FeaturedlistView.ItemsSource = source.AsEnumerable();
        }

1 Ответ

0 голосов
/ 28 марта 2019

json, возвращаемый службой, является объектом, содержащим список.Вы не можете десериализовать его непосредственно в список

, используя json2csharp.com , я получаю эту модель для json

public class Product
{
    public string product_id { get; set; }
    public string thumb { get; set; }
    public string name { get; set; }
    public string price { get; set; }
    public string special { get; set; }
    public int rating { get; set; }
    public string discount_percentage { get; set; }
}

public class RootObject
{
    public List<Product> products { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...