json 从API接收数据并将其分配给模型时出错

irlmq6kh  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(143)

我有一个异步调用API的方法,API返回的数据结构与我想要分配的模型相同。但是它从不加载对象。数据总是null,但是如果API有响应并且它传递数据,但不将其分配给变量:podcast
此方法的目的是将数据传递给视图。(我在一个Web项目中使用.Net Core 5)
这是我的方法

public async Task<IActionResult> details(int id)
    {
        if (id != 0)
        {
            //Read Service for config Metas 
            PPodcast podcast = new PPodcast();

            using (var httpClient = new HttpClient())
            {
                using (var response = await httpClient.GetAsync($"{_storageOption.devVirtualPath}{_endpoints.ObtenerPodcast}" + id))
                {
                    string apiResponse = await response.Content.ReadAsStringAsync();
                    podcast = JsonConvert.DeserializeObject<PPodcast>(apiResponse);
                }
            }
            ViewBag.idPodcast = id;
            return View(podcast);

        }
        return View(null);
    }

字符串
这是我的模型:

public class PPodcast
{
    public int id { get; set; }
    public int idSeccion { get; set; }
    public string titulo { get; set; }
    public string descripcion { get; set; }
    public string contenido { get; set; }
    public string embeb { get; set; }
    public string imagenRef { get; set; }
    public string tags { get; set; }
    public string fecha_PE { get; set; }
    public DateTime Fecha { get; set; }
    public string Hora { get; set; }
    public string urlPodcast { get; set; }
    public string SeccionNombre { get; set; }
    
}

xpcnnkqh

xpcnnkqh1#

如果所有响应都具有相同的形状,则最好创建一个包含所需类的泛型类
举例说明:

public class Response<T> 
{
    public T Data {  get; set; }
    // additional items like errors and such
}

字符串
那么在你的去离子器中,

podcast = JsonConvert.DeserializeObject<Response<PPodcast>>(apiResponse).Data;

相关问题