We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent c4d6b37 commit 8ea13ffCopy full SHA for 8ea13ff
3 files changed
Lib/json/__init__.py
@@ -275,8 +275,8 @@ def detect_encoding(b):
275
276
277
def load(fp, *, cls=None, object_hook=None, parse_float=None,
278
- parse_int=None, parse_constant=None, object_pairs_hook=None,
279
- array_hook=None, **kw):
+ parse_int=None, parse_constant=None, object_pairs_hook=None,
+ array_hook=None, **kw):
280
"""Deserialize ``fp`` (a ``.read()``-supporting file-like object containing
281
a JSON document) to a Python object.
282
@@ -310,8 +310,8 @@ def load(fp, *, cls=None, object_hook=None, parse_float=None,
310
311
312
def loads(s, *, cls=None, object_hook=None, parse_float=None,
313
314
315
"""Deserialize ``s`` (a ``str``, ``bytes`` or ``bytearray`` instance
316
containing a JSON document) to a Python object.
317
Lib/test/test_json/test_decode.py
@@ -74,6 +74,7 @@ def test_array_hook(self):
74
t = self.loads(s, array_hook=tuple)
75
self.assertEqual(t, (1, 2, 3))
76
self.assertEqual(type(t), tuple)
77
+
78
# Nested array in inner structure with object_hook
79
s = '{"xkd": [[1], [2], [3]]}'
80
p = frozendict(xkd=((1,), (2,), (3,)))
@@ -83,6 +84,7 @@ def test_array_hook(self):
83
84
self.assertEqual(type(data["xkd"]), tuple)
85
for item in data["xkd"]:
86
self.assertEqual(type(item), tuple)
87
88
self.assertEqual(self.loads('[]', array_hook=tuple), ())
89
90
def test_decoder_optimizations(self):
Modules/_json.c
@@ -1270,8 +1270,9 @@ scanner_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
1270
if (s->object_pairs_hook == NULL)
1271
goto bail;
1272
s->array_hook = PyObject_GetAttrString(ctx, "array_hook");
1273
- if (s->array_hook == NULL)
+ if (s->array_hook == NULL) {
1274
1275
+ }
1276
s->parse_float = PyObject_GetAttrString(ctx, "parse_float");
1277
if (s->parse_float == NULL)
1278
0 commit comments