我目前正在开发一个应用程序,想获取一些门票资料。为此,我使用 HttpClient 和 get 方法连接到 api。通过打开页面,我得到以下例外:
你知道解决办法吗?是的,我插入了一个 URL。
票务.cs
public class Ticket
{
public string id { get; set; }
public string message { get; set; }
public List<string> notes { get; set; }
public string status { get; set; }
public string subject { get; set; }
}
加载票
public async void LoadTickets()
{
var content = "";
HttpClient client = new HttpClient();
var RestURL = "https://...";
client.BaseAddress = new Uri(RestURL);
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await client.GetAsync(RestURL);
content = await response.Content.ReadAsStringAsync();
var Items = JsonConvert.DeserializeObject<List<Ticket>>(content);
ListViewTicket.ItemsSource = Items;
}
应用程序界面
{
"id": "1",
"status": "closed",
"subject": "Ger?tefehler -21 bei SAP App",
"message": "Beim Starten der SAP App kommt immer ein Fehler -21. Was muss ich machen?",
"notes": [
"Vielen Dank für Ihre Anfrage. Es wurde das Ticket 1 für Sie er?ffnet",
"Das ist ein eher kurzer Kommentar auf das Ticket.",
"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet",
"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
]
}
connection: keep-alive
content-type: application/json
date: Mon03 Jan 2022 15:08:36 GMT
keep-alive: timeout=20
transfer-encoding: chunked
uj5u.com热心网友回复:
你的 api 中只有一项,所以试试这个
Ticket item = JsonConvert.DeserializeObject<Ticket>(content);
或者您可以将其转换为串列
List<Ticket> items= new List<Ticket>{item};
ListViewTicket.ItemsSource = Items;
或更改您的 Api 以回传串列而不是一项
[
{
"id": "1",
"status": "closed",
"subject": "Ger?tefehler -21 bei SAP App",
"message": "Beim Starten der SAP App kommt immer ein Fehler -21. Was muss ich machen?",
"notes": [
"Vielen Dank für Ihre Anfrage. Es wurde das Ticket 1 für Sie er?ffnet",
"Das ist ein eher kurzer Kommentar auf das Ticket.",
"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet",
"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
]
}
]
如果你的意思是笔记而不是你可以得到它们
List<string> notes = JsonConvert.DeserializeObject<Ticket>(content).notes;
0 评论