Code: Select all
List listResults = new();
var listIDs = new List
{
"ID1",
"ID2",
"ID3"
};
string baseURL = $"https://API_URL/id=";
var postTasks = listIDs.Select(p => client.GetStringAsync(baseURL + p));
var posts = await System.Threading.Tasks.Task.WhenAll(postTasks);
foreach (var postContent in posts)
{
listResults.Add(postContent);
Debug.WriteLine(postContent);
}
< /code>
Jetzt möchte ich die Antwortzeichenfolge in der Liste von 2 Spalten speichern: 1. Spalte ist die ID und die 2. Spalte ist die Antwortzeichenfolge.public class ItemResponseJsonModel
{
public string ID { get; set; }
public string ResponseJSON { get; set; }
}
Code: Select all
List listResults = new();
var listIDs = new List
{
"ID1",
"ID2",
"ID3"
};
string baseURL = $"https://API_URL/id=";
var postTasks = listIDs.Select(p => client.GetStringAsync(baseURL + p));
var posts = await System.Threading.Tasks.Task.WhenAll(postTasks);
foreach (var postContent in posts)
{
listResults.Add(postContent); // This is where the error will say cannot convert string to ItemResponseJsonModel.
Debug.WriteLine(postContent);
}
Code: Select all
listResults {
{ ID = "ID1", ResponseJSON = "ResponseJSON" },
{ ID = "ID2", ResponseJSON = "ResponseJSON" },
{ ID = "ID3", ResponseJSON = "ResponseJSON" },
}
< /code>
Wie kann ich das erreichen? Kann ich es im Wörterbuch < /code>? Ich habe jedoch ein weiteres [url=viewtopic.php?t=19220]Problem[/url] und hoffentlich, um hier etwas Hilfe zu erhalten. Warum? Weil das Ergebnis manchmal mehrere Seiten hat, muss ich/während der Schleife auf die letzte Seite suchen, die nur als "[]" -Sziel überprüft wird.
Task APIGetItemsByID(string ID)
{
int page = 1;
string? API_Key = "The-API-Key"
Task respJSON;
string respContent;
do
{
var client = new HttpClient();
string baseURL = $"https://API_URL/items?pageSize=1000&Page={page}&id=";
client.DefaultRequestHeaders.Add("Authorization", "Basic " + API_Key);
respJSON = client.GetStringAsync(baseURL + ID);
respContent = respJSON.Result;
page++;
} while (respContent != "[]" && page < 10);
return respJSON;
}
Code: Select all
List listResults = new();
var listIDs = new List
{
"ID1",
"ID2",
"ID3"
};
var postTasks = listIDs
.Select(async p => new ItemResponseJsonModel { ID = p, ResponseJSON = await APIGetItemsByID(p) });
var posts = await System.Threading.Tasks.Task.WhenAll(postTasks);
foreach (var postContent in posts)
{
listResults.Add(postContent);
Debug.WriteLine(postContent);
}