python讀寫json文件


json釋義
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。易於人閱讀和編寫。同時也易於機器解析和生成。它基於JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集。JSON采用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數據交換語言。

python內置類型 與 json類型對應關系

JSON Python
object dict
array list
string str
number (int) int
number (real) float
true True
false False
null None

 

 

 

 

 

 

 

 

 

 

 

 

 

編碼(python內置類型->json類型)

json.dump(obj,fp)  //接收一個對象和寫文件指針,將python內置類型數據轉化為json類型數據寫到文件對象中

json.dumps(obj)  //將python內置類型轉化為json格式的str

官方文檔

json.dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None,sort_keys=False, **kw)

json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

常用參數:

skipkey:keys不是內置數據類型時,該值設置為False時將拋出錯誤,設置為True時將跳過,默認False

indent 為縮進,默認為空

sort_keys:設置為True時將按key值排序,默認為False

xxx@xxx:$ touch a.json  //創建json文件 xxx@xxx:$ python3
>>> b = {'zhang':35,'li':48}
>>> fp = open('a.json','w')  //創建文件對象
>>> import json
>>> json.dump(b,fp)  //dump方法
>>> fp.close()
>>> test = json.dumps(a)  //dumps方法 >>> test
'{"li": 48, "zhang": 35}'
 xxx@xxx:$ cat a.json  //查看文件
 {"zhang: 48, "li": 35}

解碼(json類型->python內置數據類型)

json.load(fp)  //接收一個讀文件指針,將json文件內容解析為python內置類型數據

json.loads(s)  //接收一個json格式的str,解析為python內置類型數據

官方文檔

json.load(fp, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

json.loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

 

常用參數:

object_hook:用於定制解碼器,默認為dict類型的

>>> fp = open('a.json','r')
>>> b = json.load(fp)  
>>> b
{'zhang': 48, 'li': 35}
>>> c = json.loads(test)
>>> c
{'zhang': 48, 'li': 35}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM