经常搞不清楚json的loads和dumps的方向,今天专门记录一下:
import json
a_dict = {'a': 1,
'b': 2
}
# dumps: dict -> str
a_json = json.dumps(a_dict)
print 'dumps: ',
print a_json, type(a_json)
# loads: str -> dict
c_dict = json.loads(a_json)
print 'loads: ',
print c_dict, type(c_dict)
结果:
dumps: {"a": 1, "b": 2} <type 'str'>
loads: {u'a': 1, u'b': 2} <type 'dict'>
很明显:
dumps是“转储”的意思,是从Python里转出成其他格式,即 dict -> json(str)
loads是“加载”的意思,是从其他格式转成Python内置格式,即 json(str) -> dict
同理,dump、load一样