如以下示例所示,
json.loads(和
json.load)不会解码多个json对象。
>>> json.loads('{}'){}>>> json.loads('{}{}') # == json.loads(json.dumps({}) + json.dumps({}))Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:Python27libjson__init__.py", line 338, in loads return _default_deprer.depre(s) File "C:Python27libjsondeprer.py", line 368, in depre raise ValueError(errmsg("Extra data", s, end, len(s)))ValueError: Extra data: line 1 column 3 - line 1 column 5 (char 2 - 4)如果要转储多个词典,请将它们包装在列表中,然后转储列表(而不是多次转储词典)
>>> dict1 = {}>>> dict2 = {}>>> json.dumps([dict1, dict2])'[{}, {}]'>>> json.loads(json.dumps([dict1, dict2]))[{}, {}]


