Flurl: GetJsonListAsync returns 动态对象列表
Flurl: GetJsonListAsync returns list of dynamic objects
我是 .NET Core 的新手,正在尝试解决问题;练习如何使用 Flurl 使用 API。
使用此端点 https://jsonplaceholder.typicode.com/posts which returns JSON 数组,我尝试了以下代码,但该列表包含我无法转换的动态。谁能建议如何将动态转换为适当的 post 对象?
public class PostsApiClient
{
public async Task<IEnumerable<PostInput>> GetPosts()
{
var response = await "https://jsonplaceholder.typicode.com/posts".GetJsonListAsync();
IEnumerable<Post> listOfPosts = response.Select(post => new Post
{
Title = post.Title,
Body = post.Body
});
return listOfPosts;
}
public class Post
{
public int UserId { get; set; }
public int Id { get; set; }
public string Title { get; set; }
public string Body { get; set; }
}
}
GetJsonListAsync
专门用于 return 动态列表。没有专门用于列表的类型化(通用)等价物,但您需要做的就是为 GetJsonAsync
提供一个集合类型。在您的情况下,这应该有效:
public async Task<IEnumerable<Post>> GetPosts()
{
return await url.GetJsonAsync<Post[]>();
}
我是 .NET Core 的新手,正在尝试解决问题;练习如何使用 Flurl 使用 API。 使用此端点 https://jsonplaceholder.typicode.com/posts which returns JSON 数组,我尝试了以下代码,但该列表包含我无法转换的动态。谁能建议如何将动态转换为适当的 post 对象?
public class PostsApiClient
{
public async Task<IEnumerable<PostInput>> GetPosts()
{
var response = await "https://jsonplaceholder.typicode.com/posts".GetJsonListAsync();
IEnumerable<Post> listOfPosts = response.Select(post => new Post
{
Title = post.Title,
Body = post.Body
});
return listOfPosts;
}
public class Post
{
public int UserId { get; set; }
public int Id { get; set; }
public string Title { get; set; }
public string Body { get; set; }
}
}
GetJsonListAsync
专门用于 return 动态列表。没有专门用于列表的类型化(通用)等价物,但您需要做的就是为 GetJsonAsync
提供一个集合类型。在您的情况下,这应该有效:
public async Task<IEnumerable<Post>> GetPosts()
{
return await url.GetJsonAsync<Post[]>();
}