一、JSON簡介
在介紹Python中Json()函數前,我們先來了解一下Json。JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易於人閱讀和編寫,同時也易於機器解析和生成。常用在在線介面傳輸數據。JSON採用鍵值對的方式存儲數據,其中鍵/值需要用雙引號引起來。
JSON使用的數據類型包括:數字、字元串、布爾、數組、對象、空值。其中對象用花括弧{}括起來,數組用中括弧[]括起來。例如,下面是一個Json字元串的示例:
{ "name": "John", "age": 30, "isMale": true, "languages": ["Python", "JavaScript", "Java"] }
二、Python中Json()函數的使用
Python內置了json模塊,提供了一些方法來完成Json格式的編碼和解碼。其中,Json()函數用於將Python對象轉換為Json格式的字元串。
import json # 定義一個Python字典 person = {"name": "John", "age": 30, "isMale": True, "languages": ["Python", "JavaScript", "Java"]} # 將Python字典轉換為Json字元串 person_json = json.dumps(person) print(person_json)
輸出結果為:
{"name": "John", "age": 30, "isMale": true, "languages": ["Python", "JavaScript", "Java"]}
三、Json()函數的參數
Json()函數有很多參數,下面我們介紹一些常用的參數。
indent:用於設置Json字元串的縮進格式。默認值為None,表示不進行縮進。
import json # 定義一個Python字典 person = {"name": "John", "age": 30, "isMale": True, "languages": ["Python", "JavaScript", "Java"]} # 將Python字典轉換為Json格式的字元串,並設置縮進為4個空格 person_json = json.dumps(person, indent=4) print(person_json)
輸出結果為:
{ "name": "John", "age": 30, "isMale": true, "languages": [ "Python", "JavaScript", "Java" ] }
sort_keys:用於指定是否按照鍵名對Json字元串進行排序。默認值為False,表示不排序。
import json # 定義一個Python字典 person = {"name": "John", "age": 30, "isMale": True, "languages": ["Python", "JavaScript", "Java"]} # 將Python字典轉換為Json格式的字元串,並按照鍵名排序 person_json = json.dumps(person, sort_keys=True) print(person_json)
輸出結果為:
{"age": 30, "isMale": true, "languages": ["Python", "JavaScript", "Java"], "name": "John"}
四、Json格式的解碼
除了Json()函數可以將Python對象轉換為Json格式的字元串之外,json模塊還提供了loads()函數,用於將Json格式的字元串轉換為Python對象。
import json # 定義一個Json格式的字元串 person_json = '{"name": "John", "age": 30, "isMale": true, "languages": ["Python", "JavaScript", "Java"]}' # 將Json格式的字元串轉換為Python字典 person_dict = json.loads(person_json) print(person_dict)
輸出結果為:
{'name': 'John', 'age': 30, 'isMale': True, 'languages': ['Python', 'JavaScript', 'Java']}
五、Json格式的文件操作
json模塊還提供了dump()和load()函數,用於將Python對象和Json格式的文件相互轉換。
import json # 將Python對象寫入Json格式的文件 def write_json_file(data, json_file): # 將Python對象轉換為Json格式的字元串 data_json = json.dumps(data) # 寫入Json字元串到文件 with open(json_file, 'w') as f: f.write(data_json) # 從Json格式的文件中讀取Python對象 def read_json_file(json_file): # 從文件中讀取Json格式的字元串 with open(json_file, 'r') as f: data_json = f.read() # 將Json字元串轉換為Python對象 data = json.loads(data_json) return data # 定義一個Python字典 person = {"name": "John", "age": 30, "isMale": True, "languages": ["Python", "JavaScript", "Java"]} # 將Python字典寫入到Json格式的文件中 write_json_file(person, 'person.json') # 從Json格式的文件中讀取Python對象 person_from_file = read_json_file('person.json') print(person_from_file)
輸出結果為:
{'name': 'John', 'age': 30, 'isMale': True, 'languages': ['Python', 'JavaScript', 'Java']}
總結
Json格式是一種輕量級的數據交換格式,Python內置的json模塊提供了很多方法來完成Json格式的編碼和解碼。Json()函數用於將Python對象轉換為Json格式的字元串,loads()函數用於將Json格式的字元串轉換為Python對象。此外,json模塊還提供了dump()和load()函數,用於將Python對象和Json格式的文件相互轉換。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/258168.html