es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo convertir la respuesta JSON en una lista en C# utilizando RestSharp.

Actualmente estoy trabajando en una aplicación de consola asp .NET 5 con Restsharp. Mi solicitud de API Get funciona en Postman, pero estoy luchando para convertir este objeto JSON en una lista.

Este es mi objeto JSON:

“data”: {
“domain”: “intel.com”,
“disposable”: false,
“webmail”: false,
“accept_all”: false,
“pattern”: “{first}.{last}”,
“organization”: “Intel”,
“country”: “US”,
“state”: null,
“emails”: [
{
“value”: “danielle.sikich@intel.com”,
“type”: “personal”,
“confidence”: 99,
“sources”: [
{
“domain”: “github.com”,
“uri”: “http://github.com/hpc/mpifileutils”,
“extracted_on”: “2021-10-28”,
“last_seen_on”: “2021-10-28”,
“still_on_page”: true
}
],
“first_name”: “Danielle”,
“last_name”: “Sikich”,
“position”: null,
“seniority”: null,
“department”: null,
“linkedin”: null,
“twitter”: null,
“phone_number”: null,
“verification”: {
“date”: “2021-11-05”,
“status”: “valid”
}
},

He intentado esto, pero no funciona:

List JobList = JsonConvert.DeserializeObject<>>(jsonResponse[“data”][“emails”][“value”].ToString());

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para convertir el objeto JSON en una lista, debes crear una clase que se asemeje a la estructura del objeto JSON. En este caso, sería una clase con propiedades para dominio, desechable, correo web, aceptar todo, patrón, organización, país, estado y una lista de correos electrónicos, donde cada correo electrónico tendría propiedades como valor, tipo, confianza, fuentes, etc.

    Después de crear la clase, puedes usar el método JsonConvert.DeserializeObject () para deserializar el objeto JSON en una instancia de esta clase. Aquí hay un ejemplo de fragmento de código:

    public class Email
    {
        public string value { get; set; }
        public string type { get; set; }
        public int confidence { get; set; }
        public List<source> sources { get; set; }
        public string first_name { get; set; }
        public string last_name { get; set; }
        public string position { get; set; }
        public string seniority { get; set; }
        public string department { get; set; }
        public string linkedin { get; set; }
        public string twitter { get; set; }
        public string phone_number { get; set; }
        public Verification verification { get; set; }
    }
    
    public class Source
    {
        public string domain { get; set; }
        public string uri { get; set; }
        public string extracted_on { get; set; }
        public string last_seen_on { get; set; }
        public bool still_on_page { get; set; }
    }
    
    public class Verification
    {
        public string date { get; set; }
        public string status { get; set; }
    }
    
    public class Data
    {
        public string domain { get; set; }
        public bool disposable { get; set; }
        public bool webmail { get; set; }
        public bool accept_all { get; set; }
        public string pattern { get; set; }
        public string organization { get; set; }
        public string country { get; set; }
        public object state { get; set; }
        public List<email> emails { get; set; }
    }
    
    public class RootObject
    {
        public Data data { get; set; }
    }
    
    // Deserializar el objeto JSON en una lista de objetos de correo electrónico
    RootObject jsonObject = JsonConvert.DeserializeObject<rootobject>(jsonResponse);
    List<email> emailList = jsonObject.data.emails;
    

    Ten en cuenta que puedes acceder a la propiedad data del objeto JSON deserializándolo en una instancia de la clase RootObject y luego acceder a sus propiedades para obtener la lista de correos electrónicos.

Comments are closed.