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 eliminar un elemento Json particular en C#?

public class students
{
    public int ID { get; set; }
    public string fName { get; set; }
    public string mName { get; set; }
    public string lName { get; set; }
    public string Dept { get; set; }
    public string Degree { get; set; }
    public _Semister[] ComplitedSemister { get; set; }
}

public class _Semister
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Instructor { get; set; }
    public int Credit { get; set; }
}

Este es mi clase de estudiantes

[
{
“ID”: 101,
“fName”: “Kamal”,
“mName”: “Faheem”,
“lName”: “Khabib”,
“Dept”: “CSE”,
“Degree”: “BSC”,
“ComplitedSemister”: [
{
“Id”: 2001,
“Name”: “OOP”,
“Instructor”: “Jamal”,
“Credit”: 2354
}
],
“SemesterCode”: “Summer”,
“Year”: “2014”
},
{
“ID”: 454,
“fName”: “fdgfdg”,
“mName”: “sgdfsd”,
“lName”: “sdfgg”,
“Dept”: “fdgsdf”,
“Degree”: “sfdgdf”,
“ComplitedSemister”: [
{
“Id”: 324,
“Name”: “cgbf”,
“Instructor”: “dgfd”,
“Credit”: 54
}
],
“SemesterCode”: “Ummer”,
“Year”: “3423”
}
]
“`

Esto es mi archivo Json. Quiero eliminar todos los elementos para un ID particular. Por ejemplo, para ID = 101 quiero eliminar todos los datos para este ID. Entonces, el siguiente ID = 454 se convertirá en el primer estudiante en el archivo Json. Pero no puedo eliminarlo. ¿Cómo puedo eliminarlo?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para eliminar un registro con un ID específico del archivo JSON, puedes seguir estos pasos:

    1. Primero, deserializa el archivo JSON a una Lista de estudiantes utilizando el método JsonConvert.DeserializeObject del paquete NuGet Newtonsoft.Json.
      string json = File.ReadAllText(filePath);
      List<students> studentList = JsonConvert.DeserializeObject<><students>>(json);
      
    2. Encuentra el índice del estudiante con el ID que deseas eliminar utilizando el método List.FindIndex.
      int index = studentList.FindIndex(s => s.ID == 101);
      
    3. Si el índice no es -1 (lo cual significa que el estudiante con el ID dado existe), remueve al estudiante de la Lista utilizando el método List.RemoveAt.
      if (index != -1)
      {
         studentList.RemoveAt(index);
      }
      
    4. Serializa la Lista nuevamente a JSON utilizando el método JsonConvert.SerializeObject y escríbelo en el archivo.
      string newJson =  JsonConvert.SerializeObject(studentList, Formatting.Indented);
      File.WriteAllText(filePath, newJson);
      

    Esto debería eliminar al estudiante con el ID especificado del archivo JSON.

Comments are closed.