javascript
详解Python中的JSON以及在Python中使用JSON
首先什么是JSON?
? ? ? JSON(JavaScript Object Notation, JS 對象簡譜,即JavaScript對象表示法) 是一種用于表示結構化數據的流行數據格式。? ? ? 在服務器和web應用程序之間以JSON格式傳輸和接收數據是很常見的。
在Python中,JSON以字符串的形式存在(即JSON字符串),例如:
json_str = '{"name":"zhangsan","languages":["Python","Java"]}'? 在文件中存儲JSON對象也是很常見的
引入json模塊
? ? 要使用JSON(字符串或包含JSON對象的文件),你可以使用Python的json模塊。在使用該模塊之前,需要先引入它。
import jsonPython中解析JSON
? ?使用json模塊解析JSON字符串和包含JSON對象的文件是很容易的。
? 例1:? 在Python中將JSON解析成dict
使用json.loads()方法來解析JSON字符串。該方法返回一個字典。
import jsonperson = '{"name":"zhangsan","languages":["Python","Java"]}' person_dict = json.loads(person) print(person_dict) print(type(person_dict)) print(person_dict["languages"])打印結果, 可以看到,person 是一個JSON 字符串, person_dict 是一個字典。
{'name': 'zhangsan', 'languages': ['Python', 'Java']} <class 'dict'> ['Python', 'Java']例2 : 使用Python讀取JSON文件
? ??使用json.load()方法讀取一個包含JSON對象的文件。
? ?當前文件下有一個person.json,它包含一個JSON對象。
# person.json {"name":"lisi","languages":["English","Fench"] }? 然后來解析這個person.json的json文件
import jsonwith open('person.json') as f:data = json.load(f)print(data) print(type(data))? 使用open()函數讀取json文件。然后,使用json.load()方法解析文件,該方法會返回一個字典
{'name': 'lisi', 'languages': ['English', 'Fench']} <class 'dict'>使用Python將字段轉換為JSON字符串
? 可以使用?json.dumps()方法將字典轉換成JSON字符串。
例3:將字典轉換為JSON
import jsonperson_dict = {"name":"xiaowang","age":21,"sex":None } person_json = json.dumps(person_dict) print(person_json) print(type(person_json))結果:
{"name": "xiaowang", "age": 21, "sex": null} <class 'str'>? Python對象及其與JSON的等效轉換
??
將JSON寫入一個文件
? ? ?在Python中將JSON寫入文件,我們可以使用json.dump()方法
例4:將JSON寫入一個文件
import jsonperson_dict = {"name": "Bob","languages": ["English", "Fench"],"married": True,"age": 36 } with open("person.txt","w") as json_file:json.dump(person_dict,json_file)然后就可以看見在當前的文件下有一個person.txt的文件,打開文件,就會看見保存的json數據
為了分析和調試JSON數據,我們可以通過向json.dumps()和json.dump()方法傳遞額外的參數indent和sort_keys來實現。
例5: 使用Python完美輸出JSON
import jsonperson_string = '{"name": "Bob", "languages": ["English", "Fench"], "married": true, "age": 36}'# 將json字符串轉化為字典 person_dict = json.loads(person_string)# 完美輸出JSON print(json.dumps(person_dict,indent=4,sort_keys=True))? 參數介紹: indent=4 ,使用了4個空格進行縮進,并且,鍵值是按升序排序的
? ? ? ? ? ? ? ? ? ? ?indent的默認值是None,? sort_keys的默認值為False。
運行之后的結果:
?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的详解Python中的JSON以及在Python中使用JSON的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python中各进制间的转换
- 下一篇: 轻松理解之SpringBoot实现原理