Trong python đọc tệp json rất dễ dàng. Trong bài viết này, chúng tôi sẽ giải thích cách đọc tệp JSON từ đĩa và sử dụng nó trong python
JSON là gì?
JSON là một định dạng trao đổi dữ liệu được sử dụng trên internet. JSON [Ký hiệu đối tượng JavaScript] có thể được sử dụng bởi tất cả các ngôn ngữ lập trình cấp cao
Làm cách nào để sử dụng JSON với python?
Cách thức hoạt động của nó là trước tiên có một tệp json trên đĩa của bạn
Sau đó, chương trình sẽ tải tệp để phân tích cú pháp, phân tích cú pháp và sau đó bạn có thể sử dụng tệp đó
khóa học liên quan. Hoàn thành khóa học & bài tập lập trình Python
python đọc json
tệp JSON
Tạo một tệp trên đĩa của bạn [đặt tên cho nó. thí dụ. json]. Chương trình python bên dưới đọc tệp json và sử dụng các giá trị trực tiếp
Bài viết này trình bày cách sử dụng các phương thức
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
8 và json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
9 của Python để đọc dữ liệu JSON từ tệp và Chuỗi. Sử dụng phương thức json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
8 và json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
9, bạn có thể biến dữ liệu được định dạng/mã hóa JSON thành Các loại Python, quá trình này được gọi là giải mã JSON. Mô-đun json tích hợp trong Python cung cấp hai phương thức sau để giải mã dữ liệu JSONĐọc thêm
- Giải Bài tập JSON của Python để thực hành các kỹ năng JSON của Python
Để phân tích cú pháp JSON từ URL hoặc tệp, hãy sử dụng
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
8. Đối với chuỗi phân tích cú pháp có nội dung JSON, hãy sử dụng json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
9Cú pháp của json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
8 và json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
9
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
Chúng ta có thể thực hiện nhiều thao tác phân tích cú pháp JSON bằng phương pháp
{ "name": "jane doe", "salary": 9000, "skills": [ "Raspberry pi", "Machine Learning", "Web Development" ], "email": "JaneDoe@pynative.com", "projects": [ "Python Data Mining", "Python Data Science" ] }6 và
{ "name": "jane doe", "salary": 9000, "skills": [ "Raspberry pi", "Machine Learning", "Web Development" ], "email": "JaneDoe@pynative.com", "projects": [ "Python Data Mining", "Python Data Science" ] }7. Đầu tiên, hãy hiểu cú pháp và đối số của nó, sau đó chúng ta chuyển sang cách sử dụng từng cái một
Cú pháp của
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
8json.load[fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
Cú pháp của
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
9json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
Tất cả các đối số có cùng ý nghĩa trong cả hai phương thức
Tham số được sử dụng
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
8 được sử dụng để đọc tài liệu JSON từ tệp và json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
9 được sử dụng để chuyển đổi tài liệu Chuỗi JSON thành từ điển Python
2 con trỏ tệp được sử dụng để đọc tệp văn bản, tệp nhị phân hoặc tệp JSON chứa tài liệu JSONimport json print["Started Reading JSON file"] with open["developer.json", "r"] as read_file: print["Converting JSON encoded data into Python dictionary"] developer = json.load[read_file] print["Decoded JSON Data From File"] for key, value in developer.items[]: print[key, ":", value] print["Done reading json file"]
3 là hàm tùy chọn sẽ được gọi với kết quả của bất kỳ đối tượng nào được giải mã theo nghĩa đen. Mô-đun json tích hợp sẵn của Python chỉ có thể xử lý các loại nguyên thủy có tương đương JSON trực tiếp [e. g. , từ điển, danh sách, chuỗi, Số, Không có, v.v. ]. Nhưng khi bạn muốn chuyển đổi dữ liệu JSON thành một loại Python tùy chỉnh, chúng tôi cần triển khai bộ giải mã tùy chỉnh và chuyển nó dưới dạng một đối tượngimport json print["Started Reading JSON file"] with open["developer.json", "r"] as read_file: print["Converting JSON encoded data into Python dictionary"] developer = json.load[read_file] print["Decoded JSON Data From File"] for key, value in developer.items[]: print[key, ":", value] print["Done reading json file"]
4 sang một phương thứcimport json print["Started Reading JSON file"] with open["developer.json", "r"] as read_file: print["Converting JSON encoded data into Python dictionary"] developer = json.load[read_file] print["Decoded JSON Data From File"] for key, value in developer.items[]: print[key, ":", value] print["Done reading json file"]
5 để chúng tôi có thể nhận lại một loại Python tùy chỉnh thay vì từ điểnimport json print["Started Reading JSON file"] with open["developer.json", "r"] as read_file: print["Converting JSON encoded data into Python dictionary"] developer = json.load[read_file] print["Decoded JSON Data From File"] for key, value in developer.items[]: print[key, ":", value] print["Done reading json file"]
6 là một hàm tùy chọn sẽ được gọi với kết quả của bất kỳ đối tượng theo nghĩa đen nào được giải mã bằng một danh sách các cặp được sắp xếp theo thứ tự. Giá trị trả về củaimport json print["Started Reading JSON file"] with open["developer.json", "r"] as read_file: print["Converting JSON encoded data into Python dictionary"] developer = json.load[read_file] print["Decoded JSON Data From File"] for key, value in developer.items[]: print[key, ":", value] print["Done reading json file"]
7 sẽ được sử dụng thay cho từ điển Python. Tính năng này cũng có thể được sử dụng để triển khai bộ giải mã tùy chỉnh. Nếuimport json print["Started Reading JSON file"] with open["developer.json", "r"] as read_file: print["Converting JSON encoded data into Python dictionary"] developer = json.load[read_file] print["Decoded JSON Data From File"] for key, value in developer.items[]: print[key, ":", value] print["Done reading json file"]
4 cũng được xác định, thìimport json print["Started Reading JSON file"] with open["developer.json", "r"] as read_file: print["Converting JSON encoded data into Python dictionary"] developer = json.load[read_file] print["Decoded JSON Data From File"] for key, value in developer.items[]: print[key, ":", value] print["Done reading json file"]
7 được ưu tiênimport json print["Started Reading JSON file"] with open["developer.json", "r"] as read_file: print["Converting JSON encoded data into Python dictionary"] developer = json.load[read_file] print["Decoded JSON Data From File"] for key, value in developer.items[]: print[key, ":", value] print["Done reading json file"]
Started Reading JSON file Converting JSON encoded data into Python dictionary Decoded JSON Data From File name : jane doe salary : 9000 skills : ['Raspberry pi', 'Machine Learning', 'Web Development'] email : JaneDoe@pynative.com projects : ['Python Data Mining', 'Python Data Science'] Done reading json file
0 là các tham số tùy chọn, nhưng nếu được chỉ định, sẽ được gọi với chuỗi của mọi số nguyên và float JSON sẽ được giải mã. Theo mặc định, điều này tương đương vớiStarted Reading JSON file Converting JSON encoded data into Python dictionary Decoded JSON Data From File name : jane doe salary : 9000 skills : ['Raspberry pi', 'Machine Learning', 'Web Development'] email : JaneDoe@pynative.com projects : ['Python Data Mining', 'Python Data Science'] Done reading json file
1Started Reading JSON file Converting JSON encoded data into Python dictionary Decoded JSON Data From File name : jane doe salary : 9000 skills : ['Raspberry pi', 'Machine Learning', 'Web Development'] email : JaneDoe@pynative.com projects : ['Python Data Mining', 'Python Data Science'] Done reading json file
2 nếu được chỉ định, nó sẽ được gọi với chuỗi của mọi JSON int sẽ được giải mã. Theo mặc định, điều này tương đương vớiStarted Reading JSON file Converting JSON encoded data into Python dictionary Decoded JSON Data From File name : jane doe salary : 9000 skills : ['Raspberry pi', 'Machine Learning', 'Web Development'] email : JaneDoe@pynative.com projects : ['Python Data Mining', 'Python Data Science'] Done reading json file
3
Chúng ta sẽ xem chi tiết việc sử dụng tất cả các tham số này
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
8 để đọc dữ liệu JSON từ một tệp và chuyển nó thành từ điển
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
Sử dụng phương thức
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
8, chúng ta có thể đọc dữ liệu JSON từ văn bản, JSON hoặc tệp nhị phân. Phương thức json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
8 trả về dữ liệu ở dạng từ điển Python. Sau đó, chúng tôi sử dụng từ điển này để truy cập và thao tác dữ liệu trong ứng dụng hoặc hệ thống của chúng tôiÁnh xạ giữa các thực thể JSON và Python trong khi giải mã
Vui lòng tham khảo bảng chuyển đổi sau, được sử dụng bởi phương pháp
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
8 và json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
9 cho các bản dịch trong giải mãJSONPythonobjectdictarrayliststringstrnumber [int]intnumber [real]floattrueTruefalseFalsenullNonePython Bảng chuyển đổi JSONBây giờ, hãy xem ví dụ. Đối với ví dụ này, tôi đang đọc “nhà phát triển. json” hiện trên ổ cứng của tôi. Tệp này chứa dữ liệu JSON sau
________số 8_______
Thí dụ
import json
print["Started Reading JSON file"]
with open["developer.json", "r"] as read_file:
print["Converting JSON encoded data into Python dictionary"]
developer = json.load[read_file]
print["Decoded JSON Data From File"]
for key, value in developer.items[]:
print[key, ":", value]
print["Done reading json file"]
đầu ra
Started Reading JSON file Converting JSON encoded data into Python dictionary Decoded JSON Data From File name : jane doe salary : 9000 skills : ['Raspberry pi', 'Machine Learning', 'Web Development'] email : JaneDoe@pynative.com projects : ['Python Data Mining', 'Python Data Science'] Done reading json file
Truy cập dữ liệu JSON trực tiếp bằng tên khóa
Sử dụng đoạn mã sau Nếu bạn muốn truy cập trực tiếp vào khóa JSON thay vì lặp lại toàn bộ JSON từ một tệp
import json
print["Started Reading JSON file"]
with open["developer.json", "r"] as read_file:
print["Converting JSON encoded data into Python dictionary"]
developer = json.load[read_file]
print["Decoding JSON Data From File"]
print["Printing JSON values using key"]
print[developer["name"]]
print[developer["salary"]]
print[developer["skills"]]
print[developer["email"]]
print["Done reading json file"]
đầu ra
Started Reading JSON file Converting JSON encoded data into Python dictionary Decoding JSON Data From File Printing JSON values using key jane doe 9000 ['Raspberry pi', 'Machine Learning', 'Web Development'] JaneDoe@pynative.com Done reading json file
Bạn có thể đọc dữ liệu JSON từ văn bản, json hoặc tệp nhị phân theo cách tương tự đã đề cập ở trên
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
9 để chuyển đổi chuỗi JSON thành từ điển
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
Đôi khi chúng tôi nhận được phản hồi JSON ở định dạng chuỗi. Vì vậy, để sử dụng nó trong ứng dụng của mình, chúng ta cần chuyển đổi chuỗi JSON thành từ điển Python. Sử dụng phương thức
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
9, chúng ta có thể giải tuần tự hóa thể hiện String, byte hoặc bytearray gốc chứa tài liệu JSON thành từ điển Python. Chúng ta có thể tham khảo bảng chuyển đổi được đề cập ở đầu bài viếtimport json
developerJsonString = """{
"name": "jane doe",
"salary": 9000,
"skills": [
"Raspberry pi",
"Machine Learning",
"Web Development"
],
"email": "JaneDoe@pynative.com",
"projects": [
"Python Data Mining",
"Python Data Science"
]
}
"""
print["Started converting JSON string document to Python dictionary"]
developerDict = json.loads[developerJsonString]
print["Printing key and value"]
print[developerDict["name"]]
print[developerDict["salary"]]
print[developerDict["skills"]]
print[developerDict["email"]]
print[developerDict["projects"]]
print["Done converting JSON string document to a dictionary"]
đầu ra
Started converting JSON string document to Python dictionary Printing key and value jane doe 9000 ['Raspberry pi', 'Machine Learning', 'Web Development'] JaneDoe@pynative.com ['Python Data Mining', 'Python Data Science'] Done converting JSON string document to a dictionary
Phân tích cú pháp và truy xuất các khóa-giá trị mảng JSON lồng nhau
Giả sử rằng bạn đã nhận được phản hồi JSON giống như thế này
developerInfo = """{ "id": 23, "name": "jane doe", "salary": 9000, "email": "JaneDoe@pynative.com", "experience": {"python":5, "data Science":2}, "projectinfo": [{"id":100, "name":"Data Mining"}] } """
Ví dụ: Bạn muốn truy xuất tên dự án từ mảng JSON thông tin của nhà phát triển để biết họ đang làm việc cho dự án nào. Bây giờ chúng ta hãy xem cách đọc các khóa-giá trị mảng JSON lồng nhau
Trong ví dụ này, chúng tôi đang sử dụng mảng JSON thông tin nhà phát triển, có thông tin dự án và trải nghiệm dưới dạng dữ liệu JSON lồng nhau
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
0đầu ra
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
1Tải JSON vào OrderedDict
OrderedDict có thể được sử dụng làm đầu vào cho JSON. Ý tôi là, khi bạn đổ JSON vào một tệp hoặc chuỗi, chúng ta có thể chuyển OrderedDict cho nó
Tuy nhiên, khi chúng tôi muốn duy trì trật tự, chúng tôi tải dữ liệu JSON trở lại OrderedDict để chúng tôi có thể giữ thứ tự của các khóa trong tệp
Như chúng ta đã thảo luận trong bài viết, tham số
import json
print["Started Reading JSON file"]
with open["developer.json", "r"] as read_file:
print["Converting JSON encoded data into Python dictionary"]
developer = json.load[read_file]
print["Decoded JSON Data From File"]
for key, value in developer.items[]:
print[key, ":", value]
print["Done reading json file"]
6 của phương thức json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
8 là một hàm tùy chọn sẽ được gọi với kết quả là bất kỳ đối tượng theo nghĩa đen nào được giải mã bằng một danh sách các cặp được sắp xếp theo thứ tựHãy xem ví dụ ngay bây giờ
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
2đầu ra
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
3Cách sử dụng Started Reading JSON file
Converting JSON encoded data into Python dictionary
Decoded JSON Data From File
name : jane doe
salary : 9000
skills : ['Raspberry pi', 'Machine Learning', 'Web Development']
email : JaneDoe@pynative.com
projects : ['Python Data Mining', 'Python Data Science']
Done reading json file
0 và Started Reading JSON file
Converting JSON encoded data into Python dictionary
Decoded JSON Data From File
name : jane doe
salary : 9000
skills : ['Raspberry pi', 'Machine Learning', 'Web Development']
email : JaneDoe@pynative.com
projects : ['Python Data Mining', 'Python Data Science']
Done reading json file
2 kwarg của json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
8
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
Như tôi đã nói với
Started Reading JSON file Converting JSON encoded data into Python dictionary Decoded JSON Data From File name : jane doe salary : 9000 skills : ['Raspberry pi', 'Machine Learning', 'Web Development'] email : JaneDoe@pynative.com projects : ['Python Data Mining', 'Python Data Science'] Done reading json file0 và
Started Reading JSON file Converting JSON encoded data into Python dictionary Decoded JSON Data From File name : jane doe salary : 9000 skills : ['Raspberry pi', 'Machine Learning', 'Web Development'] email : JaneDoe@pynative.com projects : ['Python Data Mining', 'Python Data Science'] Done reading json file2, cả hai đều là tham số tùy chọn, nhưng nếu được chỉ định, sẽ được gọi cùng với chuỗi của mọi số thực và số nguyên JSON được giải mã. Theo mặc định, điều này tương đương với
Started Reading JSON file Converting JSON encoded data into Python dictionary Decoded JSON Data From File name : jane doe salary : 9000 skills : ['Raspberry pi', 'Machine Learning', 'Web Development'] email : JaneDoe@pynative.com projects : ['Python Data Mining', 'Python Data Science'] Done reading json file1 và
Started Reading JSON file Converting JSON encoded data into Python dictionary Decoded JSON Data From File name : jane doe salary : 9000 skills : ['Raspberry pi', 'Machine Learning', 'Web Development'] email : JaneDoe@pynative.com projects : ['Python Data Mining', 'Python Data Science'] Done reading json file3
Giả sử tài liệu JSON chứa nhiều giá trị float và bạn muốn làm tròn tất cả các giá trị float thành hai dấu thập phân. Trong trường hợp này, chúng ta cần xác định một hàm tùy chỉnh thực hiện bất kỳ phép làm tròn nào bạn muốn. Chúng ta có thể chuyển một hàm như vậy cho
Started Reading JSON file Converting JSON encoded data into Python dictionary Decoded JSON Data From File name : jane doe salary : 9000 skills : ['Raspberry pi', 'Machine Learning', 'Web Development'] email : JaneDoe@pynative.com projects : ['Python Data Mining', 'Python Data Science'] Done reading json file0 kwarg
Ngoài ra, nếu bạn muốn thực hiện bất kỳ thao tác nào trên các giá trị số nguyên, chúng ta có thể viết một hàm tùy chỉnh và chuyển hàm đó tới
Started Reading JSON file Converting JSON encoded data into Python dictionary Decoded JSON Data From File name : jane doe salary : 9000 skills : ['Raspberry pi', 'Machine Learning', 'Web Development'] email : JaneDoe@pynative.com projects : ['Python Data Mining', 'Python Data Science'] Done reading json file2 kwarg. Ví dụ: bạn đã nhận được số ngày nghỉ phép trong tài liệu JSON và bạn muốn tính tiền lương để khấu trừ
Thí dụ
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
4đầu ra
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
5Triển khai bộ giải mã JSON tùy chỉnh bằng cách sử dụng json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
8
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
Mô-đun json tích hợp của Python chỉ có thể xử lý các kiểu nguyên thủy Python có tương đương JSON trực tiếp [e. g. , từ điển, danh sách, chuỗi, số, Không có, v.v. ]
Khi bạn thực thi một phương thức
Started Reading JSON file Converting JSON encoded data into Python dictionary Decoding JSON Data From File Printing JSON values using key jane doe 9000 ['Raspberry pi', 'Machine Learning', 'Web Development'] JaneDoe@pynative.com Done reading json file3 hoặc
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
9, nó sẽ trả về một từ điển Python. Nếu bạn muốn chuyển đổi JSON thành một đối tượng Python tùy chỉnh thì chúng ta có thể viết một bộ giải mã JSON tùy chỉnh và chuyển nó cho phương thức json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
9 để chúng ta có thể nhận một đối tượng Lớp tùy chỉnh thay vì một từ điểnHãy xem cách sử dụng bộ giải mã JSON trong phương thức tải. Trong ví dụ này, chúng ta sẽ xem cách sử dụng tham số
import json
print["Started Reading JSON file"]
with open["developer.json", "r"] as read_file:
print["Converting JSON encoded data into Python dictionary"]
developer = json.load[read_file]
print["Decoded JSON Data From File"]
for key, value in developer.items[]:
print[key, ":", value]
print["Done reading json file"]
3 của một phương thức tảijson.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
6đầu ra
json.loads[s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw]
7Cũng đọc
- Kiểm tra xem một khóa có tồn tại trong JSON hay không và Lặp lại mảng JSON
- Python Phân tích cú pháp nhiều đối tượng JSON từ tệp
Vậy bạn nghĩ như thế nào?
Tôi muốn nghe từ bạn. Bạn nghĩ gì về bài viết này? . Dù bằng cách nào, hãy cho tôi biết bằng cách để lại nhận xét bên dưới
Ngoài ra, hãy thử giải Bài tập JSON của Python để hiểu rõ hơn về Làm việc với Dữ liệu JSON trong Python