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 datos de respuesta de rapidapi.com en objetos de C#

Tengo una respuesta de https://rapidapi.com/ y recupero datos de la siguiente manera en la web:

{1 elemento
 "data":[1 elemento
   0:{2 elementos
   "screen_ID":"76"
   "screen_data":{1 elemento
   "icoData":{3 elementos
      "data":[...
      ]3 elementos
      "tabname":"ongoing"
      "categories":[...
     ]13 elementos
    }
   }
  }
 ]
}

Cuando intento convertir de JSON a objeto C# desde https://json2csharp.com/ recibo:

Excepción: Carácter no válido después de analizar el nombre de la propiedad. Se esperaba ':' pero se obtuvo: i. Ruta '', línea 1, posición 3.

¿Existe alguna forma de crear rápidamente objetos con estos datos?

rapidapi

Necesito el contenido de “data”.

rapidapi2

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una forma de crear objetos de C# a partir de los datos JSON proporcionados. Puede utilizar una biblioteca de análisis JSON como Newtonsoft.Json para deserializar los datos JSON en objetos de C#.

    Aquí hay un ejemplo:

    using Newtonsoft.Json;
    
    public class IcoData
    {
        public List<string> data { get; set; }
        public string tabname { get; set; }
        public List<string> categories { get; set; }
    }
    
    public class ScreenData
    {
        public IcoData icoData { get; set; }
    }
    
    public class DataItem
    {
        public string screen_ID { get; set; }
        public ScreenData screen_data { get; set; }
    }
    
    public class RootObject
    {
        public List<dataitem> data { get; set; }
    }
    
    // asumiendo que los datos JSON están almacenados en una variable llamada "jsonData"
    var rootObject = JsonConvert.DeserializeObject<rootobject>(jsonData);
    
    // puede acceder a los objetos "data" de esta manera:
    var primerDataItem = rootObject.data[0];
    var icoData = primerDataItem.screen_data.icoData;
    

    Ten en cuenta que deberás instalar Newtonsoft.Json usando NuGet para usarlo en tu proyecto.

Comments are closed.