Định dạng JSON ban đầu được lấy cảm hứng từ cú pháp của JavaScript [ngôn ngữ lập trình được sử dụng để phát triển web]. Nhưng kể từ đó, nó đã trở thành một định dạng dữ liệu độc lập với ngôn ngữ và hầu hết các ngôn ngữ lập trình mà chúng ta sử dụng ngày nay đều có thể tạo và đọc JSON
Tầm quan trọng và các trường hợp sử dụng của JSON
JSON về cơ bản là một định dạng được sử dụng để lưu trữ hoặc biểu diễn dữ liệu. Các trường hợp sử dụng phổ biến của nó bao gồm các tệp cấu hình và phát triển web
Hãy xem tại sao
- Phát triển web. JSON thường được sử dụng để gửi dữ liệu từ máy chủ đến máy khách và ngược lại trong các ứng dụng web
- tập tin cấu hình. JSON cũng được sử dụng để lưu trữ các cấu hình và cài đặt. Ví dụ: để tạo , bạn cần bao gồm tệp JSON có tên là
3 để chỉ định tên của ứng dụng, mô tả, phiên bản hiện tại cũng như các thuộc tính và cài đặt khác.data_JSON = """ { "size": "Medium", "price": 15.67, "toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"], "client": { "name": "Jane Doe", "phone": "455-344-234", "email": "janedoe@email.com" } } """
🔸 Cấu trúc và định dạng JSON
Bây giờ bạn đã biết định dạng JSON được sử dụng để làm gì, hãy xem cấu trúc cơ bản của nó với một ví dụ biểu thị dữ liệu của một đơn đặt hàng bánh pizza
{
"size": "medium",
"price": 15.67,
"toppings": ["mushrooms", "pepperoni", "basil"],
"extra_cheese": false,
"delivery": true,
"client": {
"name": "Jane Doe",
"phone": null,
"email": "janedoe@email.com"
}
}
Mẫu. tập tin jsonĐây là những đặc điểm chính của định dạng JSON
- Có một chuỗi các cặp khóa-giá trị được bao quanh bởi dấu ngoặc nhọn
4data_JSON = """ { "size": "Medium", "price": 15.67, "toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"], "client": { "name": "Jane Doe", "phone": "455-344-234", "email": "janedoe@email.com" } } """
- Mỗi khóa được ánh xạ tới một giá trị cụ thể bằng định dạng này
"key":
💡 Mẹo. Các giá trị yêu cầu dấu ngoặc kép phải được bao quanh bởi dấu ngoặc kép
- Các cặp khóa-giá trị được phân tách bằng dấu phẩy. Chỉ cặp cuối cùng không được theo sau bởi dấu phẩy
{
"size": "medium", # Comma!
"price": 15.67
}
💡 Mẹo. Chúng tôi thường định dạng JSON với các mức thụt đầu dòng khác nhau để giúp dữ liệu dễ đọc hơn. Trong bài viết này, bạn sẽ học cách thêm thụt lề tự động bằng Python
Các kiểu dữ liệu JSON. Khóa và Giá trị
Các tệp JSON có các quy tắc cụ thể xác định loại dữ liệu nào hợp lệ cho các khóa và giá trị
- Các phím phải là chuỗi
- Các giá trị có thể là một chuỗi, một số, một mảng, một giá trị boolean [
5/data_JSON = """ { "size": "Medium", "price": 15.67, "toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"], "client": { "name": "Jane Doe", "phone": "455-344-234", "email": "janedoe@email.com" } } """
6],data_JSON = """ { "size": "Medium", "price": 15.67, "toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"], "client": { "name": "Jane Doe", "phone": "455-344-234", "email": "janedoe@email.com" } } """
7 hoặc một đối tượng JSONdata_JSON = """ { "size": "Medium", "price": 15.67, "toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"], "client": { "name": "Jane Doe", "phone": "455-344-234", "email": "janedoe@email.com" } } """
Theo
Các khóa trong cặp khóa/giá trị của JSON luôn thuộc loại. Khi một từ điển được chuyển đổi thành JSON, tất cả các khóa của từ điển sẽ bị ép thành chuỗi
Hướng dẫn mẫu
Theo Hướng dẫn về kiểu JSON của Google
- Luôn chọn những cái tên có ý nghĩa
- Các loại mảng nên có tên khóa số nhiều. Tất cả các tên khóa khác phải là số ít. Ví dụ. sử dụng
9 thay vìdata_JSON = """ { "size": "Medium", "price": 15.67, "toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"], "client": { "name": "Jane Doe", "phone": "455-344-234", "email": "janedoe@email.com" } } """
0 nếu giá trị tương ứng là một mảng# Import the module import json # String with JSON format data_JSON = """ { "size": "Medium", "price": 15.67, "toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"], "client": { "name": "Jane Doe", "phone": "455-344-234", "email": "janedoe@email.com" } } """ # Convert JSON string to dictionary data_dict = json.loads[data_JSON]
- Không nên có nhận xét nào trong các đối tượng JSON
🔹 JSON so với. Từ điển Python
Thoạt nhìn, JSON và Từ điển có thể trông rất giống nhau [trực quan], nhưng chúng hoàn toàn khác nhau. Hãy xem cách chúng được "kết nối" và cách chúng bổ sung cho nhau để biến Python thành một công cụ mạnh mẽ để làm việc với các tệp JSON
JSON là định dạng tệp được sử dụng để biểu diễn và lưu trữ dữ liệu trong khi Từ điển Python là cấu trúc dữ liệu thực tế [đối tượng] được lưu trong bộ nhớ trong khi chương trình Python chạy
Cách từ điển JSON và Python hoạt động cùng nhau
Khi chúng tôi làm việc với các tệp JSON trong Python, chúng tôi không thể đọc chúng và sử dụng trực tiếp dữ liệu trong chương trình của mình. Điều này là do toàn bộ tệp sẽ được biểu diễn dưới dạng một chuỗi và chúng tôi sẽ không thể truy cập từng cặp khóa-giá trị
Trừ khi
Chúng tôi sử dụng các cặp khóa-giá trị của tệp JSON để tạo từ điển Python mà chúng tôi có thể sử dụng trong chương trình của mình để đọc dữ liệu, sử dụng và sửa đổi dữ liệu đó [nếu cần]
Đây là kết nối chính giữa JSON và Từ điển Python. JSON là biểu diễn chuỗi của dữ liệu và từ điển là cấu trúc dữ liệu thực tế trong bộ nhớ được tạo khi chương trình chạy
Tuyệt. Bây giờ bạn đã biết thêm về JSON, hãy bắt đầu đi sâu vào các khía cạnh thực tế về cách bạn có thể làm việc với JSON trong Python
🔸 Mô-đun JSON
Thật may mắn cho chúng tôi, Python đi kèm với một mô-đun tích hợp có tên là
{
"size": "medium", # Comma!
"price": 15.67
}
8. Nó được cài đặt tự động khi bạn cài đặt Python và nó bao gồm các chức năng giúp bạn làm việc với các tệp và chuỗi JSONChúng tôi sẽ sử dụng mô-đun này trong các ví dụ sắp tới
Cách nhập Mô-đun JSON
Để sử dụng
{
"size": "medium", # Comma!
"price": 15.67
}
8 trong chương trình của mình, chúng ta chỉ cần viết một câu lệnh nhập ở đầu tệpNhư thế này
Với dòng này, bạn sẽ có quyền truy cập vào các chức năng được xác định trong mô-đun. Chúng tôi sẽ sử dụng một vài trong số chúng trong các ví dụ
💡 Mẹo. Nếu bạn viết câu lệnh nhập này, bạn sẽ cần sử dụng cú pháp này để gọi một hàm được xác định trong mô-đun
{
"size": "medium", # Comma!
"price": 15.67
}
8🔹 Chuỗi Python và JSON
Để minh họa cách thức hoạt động của một số chức năng quan trọng nhất của mô-đun
{
"size": "medium", # Comma!
"price": 15.67
}
8, chúng tôi sẽ sử dụng một chuỗi nhiều dòng có định dạng JSONChuỗi JSON
Đặc biệt, chúng tôi sẽ sử dụng chuỗi này trong các ví dụ. Nó chỉ là một chuỗi Python nhiều dòng thông thường tuân theo định dạng JSON
data_JSON = """
{
"size": "Medium",
"price": 15.67,
"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
"client": {
"name": "Jane Doe",
"phone": "455-344-234",
"email": "janedoe@email.com"
}
}
"""
Chuỗi JSON- Để xác định chuỗi nhiều dòng trong Python, chúng tôi sử dụng dấu ngoặc kép.
- Sau đó, chúng ta gán chuỗi cho biến
5# Import the module import json # String with JSON format data_JSON = """ { "size": "Medium", "price": 15.67, "toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"], "client": { "name": "Jane Doe", "phone": "455-344-234", "email": "janedoe@email.com" } } """ # Convert JSON string to dictionary data_dict = json.loads[data_JSON]
💡 Mẹo. Khuyến nghị sử dụng ký tự trích dẫn kép cho chuỗi trích dẫn ba.
Chuỗi JSON sang từ điển Python
Chúng tôi sẽ sử dụng chuỗi có định dạng JSON để tạo từ điển Python mà chúng tôi có thể truy cập, làm việc và sửa đổi
Để làm điều này, chúng ta sẽ sử dụng hàm
{
"size": "medium", # Comma!
"price": 15.67
}
9 của mô-đun {
"size": "medium", # Comma!
"price": 15.67
}
8, chuyển chuỗi làm đối sốĐây là cú pháp cơ bản
Đây là mã
# Import the module
import json
# String with JSON format
data_JSON = """
{
"size": "Medium",
"price": 15.67,
"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
"client": {
"name": "Jane Doe",
"phone": "455-344-234",
"email": "janedoe@email.com"
}
}
"""
# Convert JSON string to dictionary
data_dict = json.loads[data_JSON]
Hãy tập trung vào dòng này
data_dict = json.loads[data_JSON]
8 tạo một từ điển mới với các cặp khóa-giá trị của chuỗi JSON và nó trả về từ điển mới này# Import the module import json # String with JSON format data_JSON = """ { "size": "Medium", "price": 15.67, "toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"], "client": { "name": "Jane Doe", "phone": "455-344-234", "email": "janedoe@email.com" } } """ # Convert JSON string to dictionary data_dict = json.loads[data_JSON]
- Sau đó, từ điển trả về được gán cho biến
9# Import the module import json # String with JSON format data_JSON = """ { "size": "Medium", "price": 15.67, "toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"], "client": { "name": "Jane Doe", "phone": "455-344-234", "email": "janedoe@email.com" } } """ # Convert JSON string to dictionary data_dict = json.loads[data_JSON]
Tuyệt vời. Nếu chúng ta in từ điển này, chúng ta sẽ thấy đầu ra này
{'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': 'janedoe@email.com'}}
Từ điển đã được điền dữ liệu của chuỗi JSON. Mỗi cặp khóa-giá trị đã được thêm thành công
Bây giờ, hãy xem điều gì sẽ xảy ra khi chúng ta cố gắng truy cập các giá trị của các cặp khóa-giá trị với cùng một cú pháp mà chúng ta sẽ sử dụng để truy cập các giá trị của một từ điển Python thông thường
print[data_dict["size"]]
print[data_dict["price"]]
print[data_dict["toppings"]]
print[data_dict["client"]]
đầu ra là
Medium
15.67
['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil']
{'name': 'Jane Doe', 'phone': '455-344-234', 'email': 'janedoe@email.com'}
Chính xác những gì chúng tôi mong đợi. Mỗi khóa có thể được sử dụng để truy cập giá trị tương ứng của nó
💡 Mẹo. Chúng ta có thể sử dụng từ điển này giống như bất kỳ từ điển Python nào khác. Ví dụ: chúng ta có thể gọi các phương thức từ điển, thêm, cập nhật và xóa các cặp khóa-giá trị, v.v. Chúng ta thậm chí có thể sử dụng nó trong vòng lặp for
JSON sang Python. Chuyển đổi loại
Khi bạn sử dụng
{
"size": "medium", # Comma!
"price": 15.67
}
9 để tạo từ điển Python từ chuỗi JSON, bạn sẽ nhận thấy rằng một số giá trị sẽ được chuyển đổi thành giá trị Python và kiểu dữ liệu tương ứng của chúngBảng này được trình bày trong mô-đun cho
{
"size": "medium", # Comma!
"price": 15.67
}
8 tóm tắt sự tương ứng giữa các loại và giá trị dữ liệu JSON với các loại và giá trị dữ liệu Python💡 Mẹo. Bảng chuyển đổi tương tự áp dụng khi chúng tôi làm việc với các tệp JSON
Từ điển Python sang chuỗi JSON
Bây giờ bạn đã biết cách tạo từ điển Python từ chuỗi có định dạng JSON
Nhưng đôi khi chúng ta có thể cần phải làm hoàn toàn ngược lại, tạo một chuỗi có định dạng JSON từ một đối tượng [ví dụ: từ điển] để in, hiển thị, lưu trữ hoặc làm việc với nó dưới dạng một chuỗi
Để làm điều đó, chúng ta có thể sử dụng hàm
data_dict = json.loads[data_JSON]
2 của mô-đun {
"size": "medium", # Comma!
"price": 15.67
}
8, truyền đối tượng làm đối số💡 Mẹo. Hàm này sẽ trả về một chuỗi
Đây là một ví dụ mà chúng tôi chuyển đổi từ điển Python
data_dict = json.loads[data_JSON]
4 thành một chuỗi có định dạng JSON và lưu trữ nó trong một biến# Python Dictionary
client = {
"name": "Nora",
"age": 56,
"id": "45355",
"eye_color": "green",
"wears_glasses": False
}
# Get a JSON formatted string
client_JSON = json.dumps[client]
Hãy tập trung vào dòng này
"key":
0
5 tạo và trả về một chuỗi có tất cả các cặp khóa-giá trị của từ điển ở định dạng JSONdata_dict = json.loads[data_JSON]
- Sau đó, chuỗi này được gán cho biến
6data_dict = json.loads[data_JSON]
Nếu chúng ta in chuỗi này, chúng ta sẽ thấy đầu ra này
"key":
1💡 Mẹo. Lưu ý rằng giá trị cuối cùng [
data_JSON = """
{
"size": "Medium",
"price": 15.67,
"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
"client": {
"name": "Jane Doe",
"phone": "455-344-234",
"email": "janedoe@email.com"
}
}
"""
6] đã được thay đổi. Trong từ điển Python, giá trị này là data_dict = json.loads[data_JSON]
8 nhưng trong JSON, giá trị tương đương là data_JSON = """
{
"size": "Medium",
"price": 15.67,
"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
"client": {
"name": "Jane Doe",
"phone": "455-344-234",
"email": "janedoe@email.com"
}
}
"""
6. Điều này giúp chúng tôi xác nhận rằng, thực sự, từ điển gốc hiện được biểu diễn dưới dạng một chuỗi có định dạng JSONNếu chúng ta kiểm tra kiểu dữ liệu của biến này, chúng ta sẽ thấy
"key":
2Vì vậy, giá trị trả về của hàm này chắc chắn là một chuỗi
Python sang JSON. Chuyển đổi loại
Quá trình chuyển đổi kiểu cũng xảy ra khi chúng ta chuyển từ điển thành chuỗi JSON. Bảng này từ minh họa các giá trị tương ứng
Cách in JSON bằng cách thụt lề
Nếu chúng ta sử dụng hàm
data_dict = json.loads[data_JSON]
2 và in chuỗi mà chúng ta có trong ví dụ trước, chúng ta sẽ thấy"key":
1Nhưng điều này không phải là rất dễ đọc, phải không?
Chúng tôi có thể cải thiện khả năng đọc của chuỗi JSON bằng cách thêm thụt đầu dòng
Để thực hiện việc này một cách tự động, chúng ta chỉ cần truyền đối số thứ hai để chỉ định số lượng khoảng trắng mà chúng ta muốn sử dụng để thụt lề chuỗi JSON
💡 Mẹo. đối số thứ hai phải là một số nguyên không âm [số khoảng trắng] hoặc một chuỗi. Nếu thụt lề là một chuỗi [chẳng hạn như
{'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': 'janedoe@email.com'}}
1] thì chuỗi đó được dùng để thụt lề từng cấp []Bây giờ, nếu chúng ta gọi
data_dict = json.loads[data_JSON]
2 với đối số thứ hai này"key":
4Kết quả của việc in
data_dict = json.loads[data_JSON]
6 là"key":
5Điều đó thật tuyệt phải không? . Điều này sẽ rất hữu ích khi chúng ta bắt đầu làm việc với các tệp để lưu trữ dữ liệu ở định dạng mà con người có thể đọc được
Cách sắp xếp các phím
Bạn cũng có thể sắp xếp các phím theo thứ tự bảng chữ cái nếu cần. Để làm điều này, bạn chỉ cần viết tên của tham số
{'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': 'janedoe@email.com'}}
4 và truyền giá trị {'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': 'janedoe@email.com'}}
5💡 Mẹo. Giá trị của
{'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': 'janedoe@email.com'}}
4 là data_dict = json.loads[data_JSON]
8 theo mặc định nếu bạn không chuyển giá trịVí dụ
"key":
6Trả về chuỗi này với các phím được sắp xếp theo thứ tự bảng chữ cái
"key":
7Cách sắp xếp theo thứ tự bảng chữ cái và thụt lề [đồng thời]
Để tạo một chuỗi JSON được sắp xếp theo thứ tự bảng chữ cái và thụt lề, bạn chỉ cần truyền hai đối số
Trong trường hợp này, đầu ra là
"key":
8💡 Mẹo. Bạn có thể chuyển các đối số này theo bất kỳ thứ tự nào [tương đối với nhau], nhưng đối tượng phải là đối số đầu tiên trong danh sách
Tuyệt. Bây giờ bạn đã biết cách làm việc với các chuỗi JSON, vậy hãy xem cách bạn có thể làm việc với các tệp JSON trong chương trình Python của mình
🔸 JSON và tệp
Thông thường, JSON được sử dụng để lưu trữ dữ liệu trong các tệp, vì vậy Python cung cấp cho chúng tôi các công cụ cần thiết để đọc các loại tệp này trong chương trình của mình, làm việc với dữ liệu của chúng và ghi dữ liệu mới
💡 Mẹo. một tệp JSON có phần mở rộng
{'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': 'janedoe@email.com'}}
8Hãy xem cách chúng ta có thể làm việc với các tệp
{'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': 'janedoe@email.com'}}
8 trong PythonCách đọc tệp JSON bằng Python
Giả sử rằng chúng tôi đã tạo một tệp
print[data_dict["size"]]
print[data_dict["price"]]
print[data_dict["toppings"]]
print[data_dict["client"]]
0 với dữ liệu này đại diện cho hai đơn đặt hàng trong một cửa hàng bánh pizza"key":
9đơn hàng. jsonVui lòng dành chút thời gian để phân tích cấu trúc của tệp JSON này
Dưới đây là một số mẹo nhanh
- Lưu ý các kiểu dữ liệu của các giá trị, thụt đầu dòng và cấu trúc tổng thể của tệp
- Giá trị của khóa chính
9 là một mảng các đối tượng JSON [mảng này sẽ được biểu diễn dưới dạng danh sách trong Python]. Mỗi đối tượng JSON chứa dữ liệu của một đơn hàng pizzadata_JSON = """ { "size": "Medium", "price": 15.67, "toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"], "client": { "name": "Jane Doe", "phone": "455-344-234", "email": "janedoe@email.com" } } """
Nếu chúng ta muốn đọc tệp này bằng Python, chúng ta chỉ cần sử dụng câu lệnh
print[data_dict["size"]]
print[data_dict["price"]]
print[data_dict["toppings"]]
print[data_dict["client"]]
2💡 Mẹo. Theo cú pháp trên, chúng ta có thể gán bất kỳ tên nào cho
print[data_dict["size"]]
print[data_dict["price"]]
print[data_dict["toppings"]]
print[data_dict["client"]]
3 [hộp màu xanh lá cây]. Đây là một biến mà chúng ta có thể sử dụng trong câu lệnh print[data_dict["size"]]
print[data_dict["price"]]
print[data_dict["toppings"]]
print[data_dict["client"]]
2 để chỉ đối tượng tệpDòng mã chính trong cú pháp này là
{
"size": "medium", # Comma!
"price": 15.67
}
0
5 tạo và trả về một từ điển Python mới với các cặp khóa-giá trị trong tệp JSONprint[data_dict["size"]] print[data_dict["price"]] print[data_dict["toppings"]] print[data_dict["client"]]
- Sau đó, từ điển này được gán cho biến
6print[data_dict["size"]] print[data_dict["price"]] print[data_dict["toppings"]] print[data_dict["client"]]
💡 Mẹo. Lưu ý rằng chúng tôi đang sử dụng
data_JSON = """
{
"size": "Medium",
"price": 15.67,
"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
"client": {
"name": "Jane Doe",
"phone": "455-344-234",
"email": "janedoe@email.com"
}
}
"""
1 thay vì {
"size": "medium", # Comma!
"price": 15.67
}
9. Đây là một chức năng khác trong mô-đun {
"size": "medium", # Comma!
"price": 15.67
}
8. Bạn sẽ tìm hiểu thêm về sự khác biệt của chúng ở cuối bài viết nàyKhi chúng tôi có nội dung của tệp JSON được lưu trữ trong biến
print[data_dict["size"]]
print[data_dict["price"]]
print[data_dict["toppings"]]
print[data_dict["client"]]
6 dưới dạng từ điển, về cơ bản chúng tôi có thể sử dụng nó để làm bất cứ điều gì chúng tôi muốnví dụ
Ví dụ, nếu chúng ta viết
{
"size": "medium", # Comma!
"price": 15.67
}
1Đầu ra là
Medium
15.67
['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil']
{'name': 'Jane Doe', 'phone': '455-344-234', 'email': 'janedoe@email.com'}
1 vì giá trị của khóa chính data_JSON = """
{
"size": "Medium",
"price": 15.67,
"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
"client": {
"name": "Jane Doe",
"phone": "455-344-234",
"email": "janedoe@email.com"
}
}
"""
9 là một danh sách có hai phần tửChúng ta cũng có thể sử dụng các phím để truy cập các giá trị tương ứng của chúng. Đây là những gì chúng tôi thường làm khi làm việc với các tệp JSON
Ví dụ: để truy cập phần trên cùng của đơn hàng đầu tiên, chúng tôi sẽ viết
{
"size": "medium", # Comma!
"price": 15.67
}
2- Đầu tiên, chúng tôi chọn khóa chính
9data_JSON = """ { "size": "Medium", "price": 15.67, "toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"], "client": { "name": "Jane Doe", "phone": "455-344-234", "email": "janedoe@email.com" } } """
- Sau đó, chúng tôi chọn phần tử đầu tiên trong danh sách [chỉ số
4]Medium 15.67 ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'] {'name': 'Jane Doe', 'phone': '455-344-234', 'email': 'janedoe@email.com'}
- Cuối cùng, chúng tôi chọn giá trị tương ứng với khóa
5Medium 15.67 ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'] {'name': 'Jane Doe', 'phone': '455-344-234', 'email': 'janedoe@email.com'}
Bạn có thể thấy "con đường" này bằng đồ họa trong sơ đồ
Nếu chúng ta in giá trị này, đầu ra là
{
"size": "medium", # Comma!
"price": 15.67
}
3Chính xác những gì chúng tôi mong đợi. Bạn chỉ cần "đi sâu" vào cấu trúc của từ điển bằng cách sử dụng các khóa và chỉ số cần thiết. Bạn có thể sử dụng tệp/chuỗi JSON gốc làm tài liệu tham khảo trực quan. Bằng cách này, bạn có thể truy cập, sửa đổi hoặc xóa bất kỳ giá trị nào
💡 Mẹo. Hãy nhớ rằng chúng tôi đang làm việc với từ điển mới. Những thay đổi được thực hiện đối với từ điển này sẽ không ảnh hưởng đến tệp JSON. Để cập nhật nội dung của tệp, chúng ta cần ghi vào tệp
Cách ghi vào tệp JSON
Hãy xem cách bạn có thể ghi vào tệp JSON
Dòng đầu tiên của câu lệnh
print[data_dict["size"]]
print[data_dict["price"]]
print[data_dict["toppings"]]
print[data_dict["client"]]
2 rất giống nhau. Thay đổi duy nhất là bạn cần mở tệp ở chế độ Medium
15.67
['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil']
{'name': 'Jane Doe', 'phone': '455-344-234', 'email': 'janedoe@email.com'}
7 [ghi] để có thể sửa đổi tệp💡 Mẹo. Nếu tệp chưa tồn tại trong thư mục làm việc hiện tại [thư mục], nó sẽ được tạo tự động. Bằng cách sử dụng chế độ
Medium
15.67
['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil']
{'name': 'Jane Doe', 'phone': '455-344-234', 'email': 'janedoe@email.com'}
7, chúng tôi sẽ thay thế toàn bộ nội dung của tệp nếu nó đã tồn tạiCó hai cách khác để ghi vào tệp JSON trong phần thân của câu lệnh
print[data_dict["size"]]
print[data_dict["price"]]
print[data_dict["toppings"]]
print[data_dict["client"]]
2
0# Python Dictionary client = { "name": "Nora", "age": 56, "id": "45355", "eye_color": "green", "wears_glasses": False } # Get a JSON formatted string client_JSON = json.dumps[client]
2data_dict = json.loads[data_JSON]
Hãy xem chúng một cách chi tiết
Cách tiếp cận đầu tiên.
# Python Dictionary
client = {
"name": "Nora",
"age": 56,
"id": "45355",
"eye_color": "green",
"wears_glasses": False
}
# Get a JSON formatted string
client_JSON = json.dumps[client]
0Đây là một hàm có hai đối số
- Đối tượng sẽ được lưu trữ ở định dạng JSON [ví dụ: từ điển]
- Tệp nơi nó sẽ được lưu trữ [một đối tượng tệp]
Giả sử cửa hàng bánh pizza muốn xóa dữ liệu của khách hàng khỏi tệp JSON và tạo một tệp JSON mới có tên là
# Python Dictionary
client = {
"name": "Nora",
"age": 56,
"id": "45355",
"eye_color": "green",
"wears_glasses": False
}
# Get a JSON formatted string
client_JSON = json.dumps[client]
3 với phiên bản mới nàyChúng ta có thể làm điều này với mã này
{
"size": "medium", # Comma!
"price": 15.67
}
4Đây là phiên bản gốc của dữ liệu trong tệp
print[data_dict["size"]]
print[data_dict["price"]]
print[data_dict["toppings"]]
print[data_dict["client"]]
0. Lưu ý rằng cặp khóa-giá trị # Python Dictionary
client = {
"name": "Nora",
"age": 56,
"id": "45355",
"eye_color": "green",
"wears_glasses": False
}
# Get a JSON formatted string
client_JSON = json.dumps[client]
5 tồn tại{
"size": "medium", # Comma!
"price": 15.67
}
5đơn hàng. jsonĐây là phiên bản mới trong tệp
# Python Dictionary
client = {
"name": "Nora",
"age": 56,
"id": "45355",
"eye_color": "green",
"wears_glasses": False
}
# Get a JSON formatted string
client_JSON = json.dumps[client]
3{
"size": "medium", # Comma!
"price": 15.67
}
6đơn đặt hàng_mới. jsonNếu bạn phân tích kỹ điều này, bạn sẽ thấy rằng cặp khóa-giá trị
# Python Dictionary
client = {
"name": "Nora",
"age": 56,
"id": "45355",
"eye_color": "green",
"wears_glasses": False
}
# Get a JSON formatted string
client_JSON = json.dumps[client]
7 đã bị xóa khỏi tất cả các đơn đặt hàngTuy nhiên, có một cái gì đó thiếu trong tập tin này, phải không?
Hãy dành một chút thời gian để suy nghĩ về điều này. Nó có thể là gì?
Tất nhiên là thụt lề
Tệp không thực sự giống tệp JSON, nhưng chúng ta có thể dễ dàng khắc phục điều này bằng cách chuyển đối số
# Python Dictionary
client = {
"name": "Nora",
"age": 56,
"id": "45355",
"eye_color": "green",
"wears_glasses": False
}
# Get a JSON formatted string
client_JSON = json.dumps[client]
8 thành data_JSON = """
{
"size": "Medium",
"price": 15.67,
"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
"client": {
"name": "Jane Doe",
"phone": "455-344-234",
"email": "janedoe@email.com"
}
}
"""
2Bây giờ nội dung của tập tin trông như thế này
{
"size": "medium", # Comma!
"price": 15.67
}
7đơn hàng_mới. jsonThật la khac biệt. Đây chính xác là những gì chúng tôi mong đợi một tệp JSON trông như thế nào
Bây giờ bạn đã biết cách đọc và ghi vào tệp JSON bằng cách sử dụng
data_JSON = """
{
"size": "Medium",
"price": 15.67,
"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
"client": {
"name": "Jane Doe",
"phone": "455-344-234",
"email": "janedoe@email.com"
}
}
"""
1 và data_JSON = """
{
"size": "Medium",
"price": 15.67,
"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
"client": {
"name": "Jane Doe",
"phone": "455-344-234",
"email": "janedoe@email.com"
}
}
"""
2. Hãy xem sự khác biệt giữa các hàm này và các hàm mà chúng ta đã sử dụng để làm việc với các chuỗi JSON. 🔹 tải[] so với. tải []
Bảng này tóm tắt sự khác biệt chính giữa hai chức năng này
💡 Mẹo. Hãy coi
{
"size": "medium", # Comma!
"price": 15.67
}
9 là "chuỗi tải" và điều đó sẽ giúp bạn nhớ chức năng nào được sử dụng cho mục đích nào🔸 kết xuất [] so với. bãi []
Ở đây chúng tôi có một bảng tóm tắt sự khác biệt chính giữa hai chức năng này
💡 Mẹo. Hãy coi
data_JSON = """
{
"size": "Medium",
"price": 15.67,
"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
"client": {
"name": "Jane Doe",
"phone": "455-344-234",
"email": "janedoe@email.com"
}
}
"""
0 như một "chuỗi kết xuất" và điều đó sẽ giúp bạn nhớ hàm nào được sử dụng cho mục đích gì🔹 Thuật ngữ quan trọng trong JSON
Cuối cùng, có hai thuật ngữ quan trọng mà bạn cần biết để làm việc với JSON
- Tuần tự hóa. chuyển đổi một đối tượng thành một chuỗi JSON
- khử lưu huỳnh. chuyển đổi một chuỗi JSON thành một đối tượng
🔸 Tóm lại
- JSON [Ký hiệu đối tượng JavaScript] là định dạng được sử dụng để biểu diễn và lưu trữ dữ liệu
- Nó thường được sử dụng để truyền dữ liệu trên web và lưu trữ cài đặt cấu hình
- Các tệp JSON có phần mở rộng
8{'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': 'janedoe@email.com'}}
- Bạn có thể chuyển đổi các chuỗi JSON thành các đối tượng Python và ngược lại
- Bạn có thể đọc các tệp JSON và tạo các đối tượng Python từ các cặp khóa-giá trị của chúng
- Bạn có thể ghi vào các tệp JSON để lưu trữ nội dung của các đối tượng Python ở định dạng JSON
Tôi thực sự hy vọng bạn thích bài viết của tôi và thấy nó hữu ích. Bây giờ bạn đã biết cách làm việc với JSON trong Python. Theo dõi tôi trên Twitter @EstefaniaCassN và xem các khóa học trực tuyến của tôi
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Nhà phát triển, nhà văn kỹ thuật và người tạo nội dung @freeCodeCamp. Tôi chạy freeCodeCamp. org Kênh YouTube Español
Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu