Saltar al contenido

¿Cómo eliminar el objeto json usando python?

Te sugerimos que revises esta solución en un ambiente controlado antes de pasarlo a producción, un saludo.

Solución:

Aquí hay un ejemplo completo que carga el archivo JSON, elimina el objeto de destino y luego genera el objeto JSON actualizado en el archivo.

#!/usr/bin/python                                                               

# Load the JSON module and use it to load your JSON file.                       
# I'm assuming that the JSON file contains a list of objects.                   
import json
obj  = json.load(open("file.json"))

# Iterate through the objects in the JSON and pop (remove)                      
# the obj once we find it.                                                      
for i in xrange(len(obj)):
    if obj[i]["ename"] == "mark":
        obj.pop(i)
        break

# Output the updated file with pretty JSON                                      
open("updated-file.json", "w").write(
    json.dumps(obj, sort_keys=True, indent=4, separators=(',', ': '))
)

El punto principal es que encontramos el objeto iterando a través de los objetos en la lista cargada, y luego sacamos el objeto de la lista una vez que lo encontramos. Si necesita eliminar más de un objeto de la lista, debe almacenar los índices de los objetos que desea eliminar y luego eliminarlos todos a la vez una vez que haya llegado al final de la lista. for bucle (no desea modificar la lista mientras itera a través de ella).

La forma correcta de json es deserializarlo, modificar los objetos creados y luego, si es necesario, volver a serializarlos en json. Para ello, utilice el módulo json. En resumen, utiliza = json.loads() para leer json y = json.dumps() para crear cadenas json. En tu ejemplo esto sería:

import json
o = json.loads("""[
    
        "ename": "mark",
        "url": "Lennon.com"
    ,
    
        "ename": "egg",
        "url": "Lennon.com"
    
]""")
# kick out the unwanted item from the list
o = filter(lambda x: x['ename']!="mark", o)
output_string = json.dumps(o)

Reseñas y calificaciones

Si piensas que ha resultado útil nuestro artículo, te agradeceríamos que lo compartas con más entusiastas de la programación de esta manera contrubuyes a difundir esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *