Sweetohm

Michel Casabianca


Sur de vieux serveurs où l’on ne peut plus installer de packages (c’est du vécu, pas plus tard qu’hier) ou si l’on souhaite limiter le nombre de bibliothèques Python à installer, on peut parser simplement du JSON avec le bout de code suivant :

def parse_json(expression):
    try:
        return eval(expression, {}, {'null': None, 'true': True, 'false': False})
    except Exception, e:
        raise Exception("Error evaluating expression '%s': %s" % (expression, e))

Bien sûr, il ne faudra parser ainsi que du JSON venant d’une source sûre, sans quoi on peut exécuter du code arbitraire. Et cela ne vaut une bibliothèque dédiée, mais ça dépanne…