先看下json的dumps()和loads()函數的定義
json.dumps():將一個Python對象編碼成JSON字符串。把字典對象轉換成json串
json.loads():將JSON格式字符串解碼成Python對象。對簡單的數據類型可以直接處理。如:string,Unicode,int,float,list,tuple,dict。
把json串轉成python的字典
json.loads()函數中的字符串需要是嚴格的json串格式,表示鍵值對的字符不能用單引號
例子:
>>> a='{"a":1,"b":2}'
>>> json.loads(a)
{u'a': 1, u'b': 2}
>>> b="{'c':1,'d':2}"
>>> json.loads(b)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\json\__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "C:\Python27\lib\json\decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\lib\json\decoder.py", line 380, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 1 column 2 (char 1)
