一、JSON的基礎知識
JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,與XML類似,但比XML更輕巧、更快速,也易於人類閱讀和編寫。JSON採用鍵值對的方式存儲數據,使用簡單,語法規則簡單明了,可被多種編程語言輕鬆解析和生成。
JSON格式由兩種數據類型構成:鍵/值對和數組。鍵/值對表示一個對象的屬性,數組則是多個對象的集合。下面是一個JSON格式示例:
{ "name": "John", "age": 30, "city": "New York", "scores": [90, 85, 95] }
其中,每個鍵/值對都由一個鍵和一個值組成,以冒號分隔,每個鍵/值對之間使用逗號分隔。對於數組,每個元素之間也使用逗號分隔。
二、Python解析JSON的方法
Python中內置了json模塊,可以方便地解析JSON數據。主要有兩種方法:
1. json.loads()
使用json.loads()方法可以將JSON字元串轉換為Python對象。例如,我們有以下JSON字元串:
{ "name": "John", "age": 30, "city": "New York", "scores": [90, 85, 95] }
使用json.loads()方法將字元串轉為Python對象:
import json json_str = '{"name": "John", "age": 30, "city": "New York", "scores": [90, 85, 95]}' python_obj = json.loads(json_str) print(python_obj)
輸出結果如下:
{'name': 'John', 'age': 30, 'city': 'New York', 'scores': [90, 85, 95]}
2. json.dump()和json.load()
使用json.dump()方法將Python對象轉換為JSON字元串,並將其寫入文件,使用json.load()方法從文件中讀取JSON字元串並轉換為Python對象。例如,我們有以下Python對象:
python_obj = { "name": "John", "age": 30, "city": "New York", "scores": [90, 85, 95] }
將Python對象寫入JSON文件:
import json with open('data.json', 'w') as f: json.dump(python_obj, f)
從JSON文件中讀取Python對象:
import json with open('data.json', 'r') as f: python_obj = json.load(f) print(python_obj)
輸出結果與前面一致:
{'name': 'John', 'age': 30, 'city': 'New York', 'scores': [90, 85, 95]}
三、使用Python解析JSON
1. 解析本地JSON文件
我們可以在本地創建一個JSON文件,然後使用Python解析它。例如,創建一個名為data.json的文件,內容如下:
{ "name": "John", "age": 30, "city": "New York", "scores": [90, 85, 95] }
使用Python讀取並解析該文件:
import json with open('data.json', 'r') as f: data = json.load(f) print(data['name']) print(data['age']) print(data['city']) print(data['scores'])
輸出結果如下:
John 30 New York [90, 85, 95]
2. 解析來自API的JSON數據
使用Python解析從API獲取的JSON數據同樣比較簡單。例如,我們使用requests模塊從GitHub API獲取一個用戶的信息,然後解析JSON數據:
import requests import json url = 'https://api.github.com/users/octocat' response = requests.get(url) data = json.loads(response.text) print(data['login']) print(data['name']) print(data['company']) print(data['followers'])
輸出結果如下:
octocat The Octocat GitHub 22284
四、小結
本文介紹了JSON的基礎知識和Python解析JSON的方法。著重介紹了使用Python讀取本地JSON文件和從API獲取JSON數據並解析的方法,並提供了具體示例代碼,希望能幫助大家更好地使用Python處理JSON數據。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/301037.html