Xamarin.forms用WordPress API JSON观察截止值



我有很多问题将WordPress API JSON归类为可观察的集合。有人对此有任何经验吗?

这是我遇到的问题:

我能够将JSON的json当作jcontainer,但是当我专门尝试将其划分为观测值时,我将无法这样做。它告诉我它无法将JSON对象转换为观察力。这让我发疯了!

任何人都可以为我提供一个实际的工作示例,即能够将WordPress API JSON当选为ObservableCollection并将其显示在ListView中。我认为我可能只是不明白这应该如何工作。

顺便说一句,我能够拨打其他API调用,对其进行挑选并将其绑定到UI元素。

编辑:

这是我现在拥有的。

通知页

    public partial class Notification : ContentPage
{
    public Notification()
    {
        InitializeComponent();
        NotificationList.ItemsSource = NotificationData();
    }
    public static async Task<Alerts> NotificationData()
    {
        var notification = await GetAlerts.GetAlert();
        return (Alerts)notification;
    }
}

获取通知

    public class GetAlerts
    {
    public static async Task<ObservableCollection<Alerts>> GetAlert()
    {
        string WPPosts = "URL";
        HttpClient client = new HttpClient();
        var response = await client.GetAsync(WPPosts).ConfigureAwait(false);
        Alerts data = null;
        if (response != null)
        {
            string content = await response.Content.ReadAsStringAsync();
            string content_sanitized = RemoveTags(content);
            data = JsonConvert.DeserializeObject<Alerts>(content_sanitized);
        }
        return data;
    }
    public static string RemoveTags(string content)
    {
        string returnStr = "";
        bool insideTag = false;
        for (int i = 0; i < content.Length; ++i)
        {
            char c = content[i];
            if (c == '<')
                insideTag = true;
            if (!insideTag)
                returnStr += c;
            if (c == '>')
                insideTag = false;
        }
        return returnStr;
    }
}

这是我收到的主要错误,在几个

Error CS0266: Cannot implicitly convert type `System.Threading.Tasks.Task<Namespace.Alerts>' to `System.Collections.IEnumerable'. An explicit conversion exists (are you missing a cast?) (CS0266)

我不会列出我可以在此处进行的课程。

如果将数据列为列表。

var list = JsonConvert.Deserialize<IList<MyObject>>(jsonString);

然后从中创建一个观察力。

var collection = new ObservableCollection(list);

相关内容

  • 没有找到相关文章

最新更新