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[]>();
}