Hướng dẫn python json loads ascii
JSON là gì? JSON là một định dạng chuẩn để trao đổi dữ liệu, được lấy cảm hứng từ JavaScript. Về cơ bản, JSON ở dạng chuỗi hoặc văn bản. JSON là viết tắt của Java Script Object Notation. Cú pháp của JSON: JSON được viết dưới dạng cặp khóa và giá trị.
JSON rất giống với kiểu dữ liệu từ điển trong Python. Python hỗ trợ JSON và nó có một thư viện sẵn có dưới dạng JSON. Thư viện JSON trong Python Các mô-đun bên ngoài 'marshal' và 'pickle' của Python duy trì một phiên bản của thư viện JSON. Để thực hiện các thao tác liên quan đến JSON như mã hóa và giải mã trong Python, trước tiên bạn cần nạp thư viện JSON trong tệp .py của bạn,
Các phương thức sau đây có sẵn trong mô-đun JSON
Python sang JSON (Mã hóa) Theo mặc định, thư viện Python thực hiện dịch các đối tượng Python thành các đối tượng JSON
Chuyển đổi dữ liệu Python thành JSON được gọi là thao tác mã hóa. Mã hóa được thực hiện với sự trợ giúp của phương thức từ thư viện JSON - dumps() Phương thức dumps() chuyển đổi đối tượng từ điển của python thành định dạng dữ liệu dạng chuỗi JSON. Giờ cùng xem ví dụ mã hóa đầu tiên:
Đầu ra:
Hãy tạo một tệp JSON từ từ điển trên bằng cách sử dụng hàm dump()
Đầu ra: Không có gì để hiển thị…Bạn có thể kiểm tra tệp json_file.json được tạo ra trên hệ thống của mình. JSON sang Python (Giải mã) Đọc chuỗi JSON được thực hiện với sự trợ giúp của phương thức dựng sẵn loads() & load() của thư viện JSON trong Python. Bảng dịch dưới đây đưa ra các ví dụ về cách chuyển đổi đối tượng JSON sang đối tượng trong Python, điều này rất hữu ích trong trường hợp bạn muốn giải mã chuỗi JSON sang Python.
Chúng ta hãy xem một ví dụ cơ bản về việc đọc JSON trong Python với sự trợ giúp của hàm json.loads() ,
Đầu ra:
LƯU Ý: Giải mã tệp JSON là thao tác liên quan tới nhập/xuất tệp. Tệp JSON phải tồn tại trên hệ thống ở vị trí mà bạn khai báo trong chương trình. Ví dụ,
Ở đây dữ liệu là một đối tượng từ điển của Python. Đầu ra:
Khi bạn cần giảm kích thước tệp JSON của mình, bạn có thể sử dụng mã hóa tối giản trong Python. Ví dụ
Đầu ra:
Định dạng mã JSON (giúp in ra dễ nhìn hơn)
Đầu ra:
Để hiểu rõ hơn, thay đổi thụt lề thành 40 và quan sát đầu ra Sắp xếp mã JSON Thuộc tính sort_keys trong đối số của hàm dumps () sẽ sắp xếp khóa trong JSON theo thứ tự tăng dần. Đối số sort_keys là một thuộc tính kiểu Boolean. Quá trình sắp xếp được thực hiện nếu giá trị được đặt là True, và ngược lại. Ví dụ
Đầu ra:
Bạn có thể thấy các khóa age, cars, children…được sắp xếp theo thứ tự tăng dần. Mã hóa đối tượng phức trong Python Một đối tượng phức có hai phần khác nhau đó là
Ví dụ: 3 + 2i Trước khi thực hiện mã hóa một đối tượng phức, bạn cần kiểm tra xem liệu biến đó có phải là đối tượng phức hay không. Bạn cần tạo một hàm kiểm tra giá trị lưu trong biến bằng cách dùng hàm kiểm tra đối tượng. Cùng viết một hàm để kiểm tra xem đối tượng có phải là phức hoặc phù hợp để mã hóa hay không.
Đầu ra:
Giải mã đối tượng JSON phức trong Python Để giải mã đối tượng phức trong JSON, hãy sử dụng tham số object_hook để kiểm tra chuỗi JSON có chứa đối tượng phức hay không. Ví dụ,
Đầu ra:
Tổng quan về lớp tuần tự hóa (Serialization) JSON Lớp JSONEncoder được sử dụng để tuần tự hóa bất kỳ đối tượng Python nào trong khi thực hiện mã hóa. Nó chứa ba phương thức mã hóa khác nhau
Với sự trợ giúp của phương thức encode() thuộc lớp JSONEncoder, chúng ta cũng có thể mã hóa bất kỳ đối tượng Python nào.
Đầu ra:
Tổng quan về lớp giải mã (deserialization) JSON Lớp JSONDecoder được sử dụng để giải mã tuần tự hóa bất kỳ đối tượng Python nào trong khi thực hiện giải mã. Nó chứa ba phương pháp giải mã khác nhau
Với sự trợ giúp của phương thức decode () của lớp JSONDecoder, chúng ta cũng có thể giải mã chuỗi JSON.
Đầu ra:
Giải mã dữ liệu JSON từ URL: Ví dụ thực tế Chúng ta sẽ lấy dữ liệu của CityBike NYC (Hệ thống chia sẻ xe đạp) từ URL sau ( https://feeds.citibikenyc.com/stations/stations.json ) và chuyển đổi sang định dạng từ điển. Ví dụ LƯU Ý: - Đảm bảo thư viện yêu cầu đã được cài đặt trong Python của bạn, nếu không hãy mở cửa sổ dòng lệnh hoặc CMD và gõ (Đối với Python 3 trở lên) pip3 install requests
Đầu ra:
Các ngoại lệ liên quan đến thư viện JSON trong Python
Ví dụ,
Số vô hạn và số NaN trong Python Định dạng trao đổi dữ liệu JSON (RFC - Yêu cầu nhận xét) không cho phép giá trị vô hạn hoặc giá trị NaN nhưng thư viện JSON của Python không có hạn chế nào đối với việc này. Nếu JSON nhận được kiểu dữ liệu vô hạn và NanN thì nó sẽ chuyển đổi sang dạng chữ. Ví dụ,
Đầu ra:
Khóa lặp lại trong chuỗi JSON RFC chỉ định tên khóa phải là duy nhất trong một đối tượng JSON, nhưng nó không bắt buộc. Thư viện Python JSON không đưa ra ngoại lệ đối với các đối tượng lặp lại trong JSON. Nó bỏ qua tất cả các cặp khóa-giá trị lặp lại và chỉ xem xét cặp khóa-giá trị cuối cùng trong số chúng. Ví dụ,
Đầu ra:
CLI (Giao diện dòng lệnh) với JSON trong Python json.tool cung cấp giao diện dòng lệnh để xác thực cú pháp trong JSON. Hãy xem ví dụ về CLI
Đầu ra:
Ưu điểm của JSON trong Python
Hạn chế trong việc triển khai JSON trong Python
Mã Cheat
|