Vì các trình duyệt có thể nhanh chóng phân tích các đối tượng JSON, chúng giúp truyền dữ liệu giữa máy khách và máy chủ. Bài viết này sẽ mô tả cách truyền và nhận dữ liệu JSON bằng mô-đun JSON của Python
JavaScript Object Notation
JSON (JavaScript Object Notation) là một cú pháp để trao đổi dữ liệu dễ đọc và viết bởi mọi người, dễ phân tích và tạo bởi máy tính cũng như lưu trữ dữ liệu
Nó là một định dạng toàn văn không thiên vị đối với ngôn ngữ. Ngoài ra, python bao gồm một thư viện tên là json mà chúng ta có thể sử dụng để tương tác với dữ liệu JSON
Cú pháp của JSON được coi là một phần của cú pháp JavaScript, cũng bao gồm name và {'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE'}} 0 vì name đứng trước dấu hai chấm ({'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE'}} 2) trong biểu diễn dữ liệu và các cặp {'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE'}} 3 được phân tách bằng dấu phẩy
Các đối tượng nằm trong dấu ngoặc nhọn, trong khi các phần tử mảng nằm trong dấu ngoặc vuông trong đó dấu phẩy phân tách từng giá trị. Python sẽ cần một số JSON để làm việc trước khi bạn bắt đầu phân tích cú pháp JSON
Có một số điều chúng ta phải thiết lập ban đầu. Trước tiên hãy tạo một tệp Python sẽ chứa mã cho các bài tập này. Sau đó, nhập mô-đun JSON trong tệp
Đối tượng JSON trong Python
Vì các trình duyệt có thể nhanh chóng phân tích các đối tượng JSON, chúng giúp truyền dữ liệu giữa máy khách và máy chủ. Chuỗi, số nguyên (float hoặc int), giá trị Boolean, danh sách, null hoặc đối tượng JSON khác đều là giá trị được chấp nhận cho khóa đối tượng JSON
Ở đây trong ví dụ dưới đây, một đối tượng {'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE'}} 4 được tạo và được điền bởi một từ điển, dữ liệu trong đối tượng sẽ được phân tích cú pháp bằng cách sử dụng phương thức {'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE'}} 5 và sau đó in dữ liệu được hiển thị ở đầu ra
Mã ví dụ
import json json_string = """ { "Student": { "ID" : "3", "name": "kelvin", "Group": "A", "Program" : "BSSE" } } """ data = json.loads(json_string) print (data)
đầu ra
{'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE'}}
Cấu trúc của các mảng JSON giống với cấu trúc của các danh sách trong ngoặc của Python. Chúng có thể bao gồm các mảng lồng nhau và các kiểu dữ liệu giống như các giá trị trường đối tượng JSON. Sử dụng hàm {'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE'}} 6 của gói tích hợp sẵn json để chuyển đổi chuỗi JSON thành đối tượng Python
Chuỗi dữ liệu JSON được phân tích cú pháp bởi hàm {'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE'}} 6, sau đó cung cấp một từ điển Python với tất cả dữ liệu từ JSON. Bạn có thể lấy dữ liệu đã phân tích cú pháp từ từ điển Python này bằng cách sử dụng tên hoặc chỉ mục để chỉ các đối tượng
Chúng tôi cũng có thể kiểm tra từ điển cho các mục JSON lồng nhau. Sử dụng phương pháp được liên kết {'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE'}} 5 để phân tích cú pháp tệp JSON (không có import json json_string = """ { "Student": { "ID" : "3", "name": "kelvin", "Group": "A", "Program" : "BSSE", "cars": [ {"model": "BMW 330e", "mpg": 143}, {"model": "Rolls-Royce Phantom EWB", "mpg": 18} ] } } """ data = json.loads(json_string) print (data) 0). chúng tôi đã sử dụng import json json_string = """ { "Student": { "ID" : "3", "name": "kelvin", "Group": "A", "Program" : "BSSE", "cars": [ {"model": "BMW 330e", "mpg": 143}, {"model": "Rolls-Royce Phantom EWB", "mpg": 18} ] } } """ data = json.loads(json_string) print (data) 1 để phân tích các giá trị trong mảng trong ví dụ bên dưới
Mã ví dụ
import json json_string = """ { "Student": { "ID" : "3", "name": "kelvin", "Group": "A", "Program" : "BSSE", "cars": [ {"model": "BMW 330e", "mpg": 143}, {"model": "Rolls-Royce Phantom EWB", "mpg": 18} ] } } """ data = json.loads(json_string) print (data)
đầu ra
{'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE', 'cars': [{'model': 'BMW 330e', 'mpg': 143}, {'model': 'Rolls-Royce Phantom EWB', 'mpg': 18}]}}
Ví dụ này chuyển đổi một mảng JSON thành kiểu dữ liệu mảng Python thông qua Bộ giải mã JSON. Sử dụng chỉ mục của nó trong một đối tượng Python có thể lấy một phần tử từ một mảng JSON