python json dumps与loads
生活随笔
收集整理的這篇文章主要介紹了
python json dumps与loads
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
- json.dumps() 是將一個Python數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為一個JSON編碼的字符串
- json.loads() 是將一個JSON編碼的字符串轉(zhuǎn)換為一個Python數(shù)據(jù)結(jié)構(gòu)
一般要求當要字符串通過loads轉(zhuǎn)為python數(shù)據(jù)類型時,得外層用單引號,里面元素key和value用雙引號,不然會報錯
直接將字符串轉(zhuǎn)換為字典時,會出現(xiàn)如下情況
>>> import json >>> a = '{"a":1,"b":2}' >>> b = json.loads(a) >>> b {u'a': 1, u'b': 2}字典的字符串元素前面均加了個‘u’, 這樣產(chǎn)生的字典,再轉(zhuǎn)成字符串,轉(zhuǎn)會字典時會報錯
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' >>> c "{u'a': 1, u'b': 2}" >>> d = json.loads(c) Traceback (most recent call last):File "<stdin>", line 1, in <module>File "/usr/local/lib/python2.7/json/__init__.py", line 339, in loadsreturn _default_decoder.decode(s)File "/usr/local/lib/python2.7/json/decoder.py", line 364, in decodeobj, end = self.raw_decode(s, idx=_w(s, 0).end())File "/usr/local/lib/python2.7/json/decoder.py", line 380, in raw_decodeobj, end = self.scan_once(s, idx) ValueError: Expecting property name: line 1 column 2 (char 1)所以loads在處理中,還需要把里面的u前綴修飾符去掉
如果要避免,轉(zhuǎn)換中字典元素出現(xiàn)‘u’,可以直接用eval()函數(shù)將其轉(zhuǎn)為字典
In [212]: a Out[212]: '{"a":"b"}'In [213]: b =eval(a)In [214]: b Out[214]: {'a': 'b'}總結(jié)
以上是生活随笔為你收集整理的python json dumps与loads的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python字典数据类型及基本操作
- 下一篇: 5种方法实现“反转字符串”