Trong bài viết này, bạn sẽ học cách đọc và phân tích cú pháp JSON bằng Python.
JSON là gì?
JSON là viết tắt của Ký hiệu đối tượng JavaScript. Đó là một cú pháp đơn giản để lưu trữ dữ liệu theo cặp tên-giá trị. Các giá trị có thể là các loại dữ liệu khác nhau miễn là chúng hợp lệ. Các loại không được chấp nhận cho JSON bao gồm các hàm, ngày tháng và undefined
.
Các tệp JSON được lưu trữ với .json
tiện ích mở rộng có cấu trúc JSON hợp lệ.
Đây là cấu trúc của tệp JSON trông như thế nào:
{
"name": "John",
"age": 50,
"is_married": false,
"profession": null,
"hobbies": ["traveling", "photography"]
}
Bạn sẽ thường sử dụng JSON để gửi và nhận dữ liệu từ máy chủ trong các ứng dụng web.
Khi nhận được dữ liệu, chương trình sẽ đọc và phân tích cú pháp JSON để trích xuất dữ liệu cụ thể. Các ngôn ngữ khác nhau có phương pháp riêng để làm điều này. Chúng ta sẽ xem cách thực hiện những điều này trong Python tại đây.
Cách đọc tệp JSON
Giả sử JSON trong khối mã ở trên được lưu trữ trong một user.json
tập tin. Sử dụng open()
hàm sẵn có trong Python, chúng ta có thể đọc tệp đó và gán nội dung cho một biến. Đây là cách:
with open('user.json') as user_file:
file_contents = user_file.read()
print(file_contents)
# {
# "name": "John",
# "age": 50,
# "is_married": false,
# "profession": null,
# "hobbies": ["travelling", "photography"]
# }
Bạn chuyển đường dẫn tệp đến open
phương thức mở tệp và gán dữ liệu luồng từ tệp cho user_file
Biến đổi. Sử dụng read
phương pháp, bạn có thể chuyển nội dung văn bản của tệp vào file_contents
Biến đổi.
tôi đã sử dụng with
ở đầu biểu thức để sau khi đọc nội dung của tệp, Python có thể đóng tệp.
file_contents
hiện chứa phiên bản được xâu chuỗi của JSON. Bước tiếp theo, bây giờ bạn có thể phân tích cú pháp JSON.
Cách phân tích cú pháp JSON
Python có các mô-đun dựng sẵn cho các hoạt động khác nhau. Để quản lý tệp JSON, Python có json
mô-đun.
Mô-đun này đi kèm với nhiều phương pháp. Một trong số đó là loads()
phương pháp phân tích chuỗi JSON. Sau đó, bạn có thể gán dữ liệu đã phân tích cú pháp cho một biến như sau:
import json
with open('user.json') as user_file:
file_contents = user_file.read()
print(file_contents)
parsed_json = json.loads(file_contents)
# {
# 'name': 'John',
# 'age': 50,
# 'is_married': False,
# 'profession': None,
# 'hobbies': ['travelling', 'photography']
# }
Sử dụng loads()
phương pháp, bạn có thể thấy rằng parsed_json
biến hiện có một từ điển hợp lệ. Từ từ điển này, bạn có thể truy cập các khóa và giá trị trong đó.
Cũng lưu ý làm thế nào null
từ JSON được chuyển đổi thành None
trong trăn. Điều này là do null
không hợp lệ trong Python
.
Cách sử dụng json.load()
để đọc và phân tích tệp JSON
Các json
mô-đun cũng có load
phương pháp mà bạn có thể sử dụng để đọc một đối tượng tệp và phân tích nó cùng một lúc. Sử dụng phương pháp này, bạn có thể cập nhật mã trước đó thành:
import json
with open('user.json') as user_file:
parsed_json = json.load(user_file)
print(parsed_json)
# {
# 'name': 'John',
# 'age': 50,
# 'is_married': False,
# 'profession': None,
# 'hobbies': ['travelling', 'photography']
# }
Thay vì sử dụng read
phương thức của đối tượng tệp và sử dụng loads
phương pháp của json
mô-đun, bạn có thể trực tiếp sử dụng load
phương thức đọc và phân tích cú pháp đối tượng tệp.
kết thúc
Dữ liệu JSON thường được biết đến với cấu trúc đơn giản và phổ biến (là tiêu chuẩn trong hầu hết các trường hợp) để trao đổi thông tin giữa máy chủ và máy khách.
Các ngôn ngữ và công nghệ khác nhau có thể đọc và phân tích tệp JSON theo những cách khác nhau. Trong bài viết này, chúng ta đã học cách đọc các tệp JSON và phân tích cú pháp các tệp đó bằng cách sử dụng read
phương thức của các đối tượng tập tin, và loads
và load
phương pháp của json
mô-đun.