JSON的基本概念
1. 鍵值對
JSON對象是由一組無序的鍵值對組成的。每個鍵值對由一個鍵和一個值組成,鍵與值之間用冒號分隔。鍵必須是字符串,值可以是字符串、數(shù)字、布爾值、數(shù)組或者另一個JSON對象。
{
"name": "張三",
"age": 30,
"isStudent": false,
"courses": ["語文", "數(shù)學(xué)", "英語"],
"address": {
"city": "北京",
"street": "朝陽路"
}
}2. 數(shù)組
數(shù)組是由多個值組成的有序列表。值可以是字符串、數(shù)字、布爾值、數(shù)組或者另一個JSON對象。數(shù)組元素之間用逗號分隔。
[
{"name": "張三", "age": 30},
{"name": "李四", "age": 25},
{"name": "王五", "age": 35}
]3. 數(shù)字類型
JSON支持以下數(shù)值類型:-4.9E+44(十進(jìn)制整數(shù))、-4.9e-45(十進(jìn)制小數(shù))、0(整型零)和0.0e+43(浮點數(shù))。數(shù)字類型可以是整數(shù)或小數(shù)。
4. 布爾類型
布爾類型只有兩個值:true(真)和false(假)。布爾值可以是字符串"true"或"false"。
JSON的解析方法
在Python中,我們可以使用內(nèi)置的json模塊來解析JSON數(shù)據(jù)。以下是一些常用的解析方法:
1. json.loads()
這個方法用于將JSON格式的字符串轉(zhuǎn)換為Python的數(shù)據(jù)結(jié)構(gòu)。例如:
import json
json_str = '{"name": "張三", "age": 30}'
data = json.loads(json_str)
print(data) # 輸出:{'name': '張三', 'age': 30}2. json.load()
這個方法用于從文件中讀取JSON數(shù)據(jù)并將其轉(zhuǎn)換為Python的數(shù)據(jù)結(jié)構(gòu)。例如:
import json
with open('data.json', 'r') as f:
data = json.load(f)
print(data) # 從data.json文件中讀取并解析JSON數(shù)據(jù),輸出:{'name': '張三', 'age': 30}JSON的處理方法
在Python中,我們可以使用內(nèi)置的json模塊來處理JSON數(shù)據(jù)。以下是一些常用的處理方法:
1. json.dumps()
這個方法用于將Python的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為JSON格式的字符串。例如:
import json
data = {'name': '張三', 'age': 30}
json_str = json.dumps(data)
print(json_str) # 輸出:'{"name": "張三", "age": 30}'