无法转储data.Json可序列化问题

时间:2017-07-05 19:51:48

标签: python json

import json

newdic={"name":"John","age":30,"cars": [{ "name":"Ford", "models":["Fiesta", "Focus", "Mustang" ] },{ "name":"BMW", "models":[ "320", "X3", "X5"] },{ "name":"Fiat", "models":[ "500", "Panda" ] }]}

 with open('newjson','w') as pointer:
 json.dumps(pointer,newdic)

我是json的新手,在做json dump时遇到错误。

json.dump(pointer,newdic)   File "/usr/lib/python3.5/json/__init__.py", line 178, in dump
for chunk in iterable:   File "/usr/lib/python3.5/json/encoder.py", line 436, in _iterencode
o = _default(o)   File "/usr/lib/python3.5/json/encoder.py", line 179, in default
raise TypeError(repr(o) + " is not JSON serializable") TypeError: <_io.TextIOWrapper name='newjson' mode='w' encoding='UTF-8'> is not JSON serializable
你可以告诉我json支持哪个对象吗?

1 个答案:

答案 0 :(得分:1)

您的代码存在两个问题:

  1. 您需要致电json.dump,而不是json.dumps。

  2. 你的参数顺序错了。它是json.dump(obj, fp),而不是json.dump(fp, obj)