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}'