Skip to content

Commit 92d9a32

Browse files
committed
Fixed json.dumps() when benedict is initialized with an empty dict. #57 #61
1 parent 740e0c1 commit 92d9a32

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

benedict/dicts/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,12 @@ def unique(self):
279279
_unique(self)
280280

281281

282+
# fix benedict json dumps support - #57 #59 #61
283+
from json import encoder
284+
285+
encoder.c_make_encoder = None
286+
287+
282288
# fix benedict yaml representer - #43
283289
from yaml import SafeDumper
284290
from yaml.representer import SafeRepresenter

benedict/dicts/base/base_dict.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class BaseDict(dict):
77
_pointer = False
88

99
def __init__(self, *args, **kwargs):
10-
if len(args) == 1 and isinstance(args[0], dict) and args[0]:
10+
if len(args) == 1 and isinstance(args[0], dict):
1111
self._dict = args[0].dict() if issubclass(
1212
type(args[0]), BaseDict) else args[0]
1313
self._pointer = True
@@ -104,6 +104,11 @@ def items(self):
104104
return self._dict.items()
105105
return super(BaseDict, self).items()
106106

107+
def iteritems(self):
108+
if self._pointer:
109+
return self._dict.iteritems()
110+
return super(BaseDict, self).iteritems()
111+
107112
def keys(self):
108113
if self._pointer:
109114
return self._dict.keys()

0 commit comments

Comments
 (0)