Coding for KidsCoding for Kids
Cấp Độ Sáng TạoThử TháchHướng Dẫn Giáo Viên
Bình chọn tính năng
Khóa học Phát triển Python Nâng cao
Chương
>
Cấp độ

Các module tuần tự hóa
Mô-đun JSON

Mục tiêu

Hãy đến trạm dịch vụ và đảm bảo rằng dữ liệu được lưu trữ đúng cách bằng cách sử dụng module JSON để định dạng các tệp.

Có một trạm dịch vụ ở phía nam của tòa nhà phụ thuộc trong khu vực xây dựng mới, toàn bộ khu vực này sẽ được tái phát triển để trồng cây. Trạm có nhiều terminal xử lý dữ liệu cho dự án mới, chúng ta có thể ghi dữ liệu bằng tay, nhưng điều đó sẽ mất rất nhiều thời gian. Đối với quá trình xử lý dữ liệu, chúng ta có thể sử dụng JSON, viết tắt của JavaScript Object Notation, đây là định dạng dữ liệu độc lập với ngôn ngữ lập trình và lưu trữ thông tin dưới dạng dễ đọc để lưu trữ và truyền tải dữ liệu.

Để sử dụng JSON với Python, chúng ta có thể sử dụng import json để truy cập các hàm của JSON. Trong mục đích của chúng ta, chúng ta sẽ sử dụng các hàm sau:

  • json.loads(): Chuyển đổi chuỗi JSON thành dữ liệu Python, nhận một đối số, đó là chuỗi bạn muốn phân tích chuyển đổi sang Python.
  • json.dumps(): Chuyển dữ liệu Python thành một đối tượng chuỗi JSON. Hàm này có thể nhận tới bốn (4) đối số, chỉ cần đối số đầu tiên là bắt buộc để sử dụng hàm. Chúng bao gồm:
    1. Dữ liệu Python mà bạn muốn chuyển đổi thành JSON: có thể là các kiểu dữ liệu sau: từ điển, danh sách, tuple, chuỗi, số nguyên, số thực, boolean, và kiểu None.
    2. indent: số khoảng trắng bạn muốn thêm ở đầu mỗi điểm dữ liệu
    3. separators: là những phân đoạn mà bạn muốn xuất hiện giữa và/hoặc ở cuối các điểm dữ liệu.
    4. sort_keys: sắp xếp các khóa của từ điển theo thứ tự bảng chữ cái nếu bạn đang chuyển đổi kiểu tệp từ điển.

Để bắt đầu, hãy hướng đến dấu X màu vàng tại trạm đặt bên trái và đối mặt với bàn có ghi chú. Sử dụng hàm read() để xác minh thông tin cần thiết nhằm xác nhận trạng thái của terminal và lưu ý nó.

Đi đến dấu X nhạt phía trước terminal, có một hằng số tên là transmission, sử dụng json.dumps() để định dạng nó thành json để chúng ta có thể chuyển đổi nó, như thế này: transmission = json.dumps(transmission) .

Tạo một dictionary tên là load và lưu giá trị của json.loads() với hằng số transmission làm đối số. Điều này sẽ chuyển đổi JSON thành Python để thông tin của nó có thể được truy cập dễ dàng. Sử dụng hàm speak() với các khóa được liệt kê trong ghi chú và sử dụng dictionary load mà bạn đã tạo. Ví dụ: player.speak(load["system"]), thực hiện như vậy cho tất cả các khóa.

Sau khi kiểm tra thông tin trên terminal, đi xuống hướng về phía trạm, vào trong và hướng tới dấu X nhạt trên thảm xanh. Kiểm tra ghi chú bằng cách sử dụng hàm read(), kiểm tra và ghi chú các giá trị, trong trình chỉnh sửa có một dictionary được viết sẵn tên là profile, điền vào các giá trị còn thiếu với thông tin trong ghi chú.

Đi tới dấu X tối trên thảm xanh, đối mặt với terminal và tạo một biến tên là transfer và lưu giá trị của json.dumps() kèm theo dictionary profile làm đối số duy nhất. Bằng cách này, chúng ta chuyển đổi dictionary thành một đối tượng chuỗi JSON. Sử dụng hàm display() đã được viết sẵn và truyền vào chuỗi JSON transfer để lưu trữ dữ liệu trên terminal.

Đi đến dấu X tối trên thảm đỏ và sử dụng hàm read() để xác minh dữ liệu đã được nhập trên terminal. Dữ liệu không được trình bày theo một định dạng phù hợp, để lưu trữ thông tin một cách đúng đắn thì cần được lưu trữ và định dạng dưới dạng JSON. Dữ liệu được lưu trữ trong một hằng số dictionary có tên red_data, tạo một biến tên là red_storage và lưu giá trị của hàm json.dumps().

Để định dạng dữ liệu, thêm các đối số sau vào hàm: thêm red_data để chuyển hằng số thành JSON, thêm indent và đặt giá trị là 5 để định dạng văn bản, thêm separators và thêm ("- ", " = ") để thêm những ký tự này vào cuối mỗi dòng. Dòng lệnh sẽ trông như sau: red_storage = json.dumps(red_data, indent=5, separators=("- ", " = ")). Sử dụng hàm display() đã được viết sẵn và truyền vào chuỗi JSON red_storage để lưu trữ và hiển thị dữ liệu đã được định dạng.

Đi đến dấu X tối trên thảm xanh và đối mặt với terminal, sử dụng hàm read(), giống như trước đó, dữ liệu không được lưu trữ đúng cách và cần được định dạng cũng như sắp xếp. Dữ liệu được lưu trữ trong một hằng số có tên blue_data, tạo một biến tên là blue_storage và lưu giá trị của hàm json.dumps().

Với các đối số: thêm blue_data để chuyển hằng số thành JSON, thêm indent và đặt giá trị là 4 để định dạng văn bản, thêm separators và thêm (".0", " = ") để thêm những ký tự này vào cuối mỗi dòng. Ngoài ra, còn thêm đối số sort_keys làm đối số cuối cùng và đặt giá trị là True, như sau: sort_keys=True. Sử dụng hàm display() đã được viết sẵn và truyền vào chuỗi JSON blue_storage để lưu trữ và hiển thị dữ liệu đã được sắp xếp và hoàn thành cấp độ.

Sách Mã