diff --git a/weboob/tools/application/formatters/json.py b/weboob/tools/application/formatters/json.py index e9ae2350..cfb0f4bf 100644 --- a/weboob/tools/application/formatters/json.py +++ b/weboob/tools/application/formatters/json.py @@ -19,6 +19,7 @@ from weboob.tools.json import json +from weboob.capabilities.base import NotAvailable, NotLoaded from .iformatter import IFormatter @@ -32,12 +33,14 @@ class Encoder(json.JSONEncoder): try: return json.JSONEncoder.default(self, obj) except TypeError: + if obj is NotAvailable or obj is NotLoaded: + return None + try: dct = obj.to_dict() except AttributeError: return str(obj) - for z in dct.itervalues(): - return z + return dct class JsonFormatter(IFormatter):