我有很多问题将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);