dumps是將dict轉化成str格式,loads是將str轉化成dict格式。
dump和load也是類似的功能,只是與文件操作結合起來了。
In [1]: import json
In [2]: a = {'name': 'wang', 'age': 29}
In [3]: b = json.dumps(a)
In [4]: print b, type(b)
{"age": 29, "name": "wang"} <type 'str'>
In [11]: json.loads(b)
Out[11]: {u'age': 29, u'name': u'wang'}
In [12]: print type(json.loads(b))
<type 'dict'>
dump和dumps的區別
In [1]: import json
In [2]: a = {'name': 'wang', 'age': 29}
In [3]: b = json.dumps(a)
In [4]: print b, type(b)
{"age": 29, "name": "wang"} <type 'str'>
In [5]: c = json.dump(a)
TypeError Traceback (most recent call last)
----> 1 c = json.dump(a)
TypeError: dump() takes at least 2 arguments (1 given)
簡單說就是dump需要一個類似於文件指針的參數(並不是真的指針,可稱之為類文件對象),可以與文件操作結合,也就是說可以將dict轉成str然后存入文件中;而dumps直接給的是str,也就是將字典轉成str。