Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

393
Vistas
Is there an easy way to check if an object is JSON serializable in python?

I was trying to check if objects were JSON serializable or not because I had a dictionary that had a bunch of things and at this point its just easier to loop through its keys and find if they are JSON serializable and remove them. Something like (though this checks if its function):

def remove_functions_from_dict(arg_dict):
    '''
        Removes functions from dictionary and returns modified dictionary
    '''
    keys_to_delete = []
    for key,value in arg_dict.items():
        if hasattr(value, '__call__'):
            keys_to_delete.append(key)
    for key in keys_to_delete:
        del arg_dict[key]
    return arg_dict

is there a way that the if statement instead check for JSON serializable objects and deletes them from the dictionary in a similar way to above?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

@shx2's answer is good enough, but it's better to specify which exceptions you're catching.

def is_jsonable(x):
    try:
        json.dumps(x)
        return True
    except (TypeError, OverflowError):
        return False

OverflowError is thrown when x contains a number which is too large for JSON to encode. A related answer can be found here.

over 4 years ago · Santiago Trujillo Denunciar

0

Easier to Ask Forgiveness than Permission.

import json
def is_jsonable(x):
    try:
        json.dumps(x)
        return True
    except:
        return False

Then in your code:

for key,value in arg_dict.items():
    if not is_jsonable(value):
        keys_to_delete.append(key)
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda