Python ghi luồng JSON vào tệp
JSON (JavaScript Object Notation) là một định dạng dữ liệu phổ biến đại diện cho dữ liệu có cấu trúc. Nó được sử dụng rộng rãi trong các API và ứng dụng web. Bạn có thể sử dụng mô-đun JSON Python tích hợp cung cấp tất cả các phương thức cần thiết để làm việc với dữ liệu JSON. Bài viết này đề cập đến mô-đun JSON JSON tiêu chuẩn và giải thích cách phân tích cú pháp, tuần tự hóa, giải tuần tự hóa, mã hóa, giải mã và in đẹp dữ liệu của nó Show
JSON là gì?JSON là định dạng trao đổi dữ liệu nhẹ phổ biến lấy cảm hứng từ định dạng cú pháp đối tượng JavaScript được chỉ định bởi RFC 7159 và ECMA-404. Mục đích chính của định dạng JSON là lưu trữ và truyền dữ liệu giữa trình duyệt và máy chủ, nhưng định dạng này được sử dụng rộng rãi bởi các API vi dịch vụ để trao đổi dữ liệu cú pháp JSONCú pháp của JSON rất đơn giản. Nó được xây dựng trên hai cấu trúc đơn giản
Dưới đây là ví dụ về các cấu trúc dữ liệu phổ quát đơn giản này Bộ sưu tập các cặp tên/giá trịCác cặp tên/giá trị tạo thành một đối tượng JSON được mô tả bằng dấu ngoặc nhọn 8. Bạn có thể định nghĩa một đối tượng JSON ở dạng được định dạng
Hoặc dưới dạng một chuỗi (cả hai đối tượng đều giống nhau)
Một danh sách có thứ tự các giá trịDanh sách các mục có thứ tự được xác định bằng cách sử dụng dấu ngoặc vuông 9 và giữ bất kỳ giá trị nào được phân tách bằng dấu phẩy ( 0)
Danh sách các mục được sắp xếp giống nhau có thể được định nghĩa là một chuỗi đơn
ràng buộc JSONĐịnh dạng JSON có một số ràng buộc
Dữ liệu JSON trông như thế nào?Đây là một ví dụ về cấu trúc dữ liệu JSON
Làm việc với mô-đun JSON của PythonJSON là một định dạng trao đổi dữ liệu tiêu chuẩn được sử dụng bởi nhiều ngôn ngữ lập trình, bao gồm cả Python. JSON (Ký hiệu đối tượng JavaScript) biểu thị dữ liệu ở định dạng văn bản mà con người có thể đọc được và máy tính dễ dàng xử lý. Python cung cấp một mô-đun tích hợp có tên là JSON để hoạt động với dữ liệu JSON. Mô-đun JSON cho phép bạn chuyển đổi các đối tượng Python thành chuỗi JSON và sao lưu lại. Nó cũng cung cấp các phương thức để tải và lưu các tệp JSON Ngoài ra, module 7 còn có thể dùng để chuyển đổi từ điển Python thành các đối tượng JSON, nó chứa các phương thức xử lý dữ liệu JSON, bao gồm các thao tác sau. phân tích cú pháp, tuần tự hóa, giải tuần tự hóa, mã hóa, giải mã và in đẹp. Nhìn chung, mô-đun 7 giúp dễ dàng làm việc với dữ liệu JSON bằng ngôn ngữ lập trình PythonTuần tự hóa các đối tượng Python thành định dạng JSONTuần tự hóa đang dịch cấu trúc dữ liệu thành định dạng có thể được lưu trữ, truyền và tái tạo sau này. Áp dụng cho Python, tuần tự hóa có nghĩa là chúng tôi sẽ dịch các loại dữ liệu cơ bản của Python sang định dạng JSON. Mô-đun 7 có thể chuyển đổi từ điển Python hoặc liệt kê các đối tượng thành định dạng JSON (chuỗi)Đây là cách mô-đun Python 7 xử lý quy trình tuần tự hóaPython classJSON typeint, long, floatnumberstrstringTruetrueFalsefalselist, tuplearraydictobjectNonenullPython sang đối tượng JSON và dịch kiểu dữ liệuCó hai phương thức có sẵn trong mô-đun Python 7 để xử lý quy trình tuần tự hóa
Tuần tự hóa dữ liệu Python bằng cách sử dụng kết xuất ()Đây là một ví dụ về tuần tự hóa cấu trúc dữ liệu Python thành luồng JSON bằng phương thức 2
Đây là một kết quả thực thi Liên kết được Tài trợTuần tự hóa dữ liệu Python bằng cách sử dụng kết xuất ()Đây là một ví dụ về tuần tự hóa cấu trúc dữ liệu Python thành chuỗi Python được định dạng JSON bằng phương thức 3
Đây là một kết quả thực thi Giải tuần tự hóa dữ liệu JSON thành đối tượng PythonQuá trình deserialization ngược lại với serialization. Nó chuyển đổi dữ liệu JSON thành danh sách Python hoặc đối tượng từ điển Đây là cách mô-đun Python 7 xử lý quy trình khử lưu huỳnhJSON typePython classnullNonetrueTruefalseFalsenumber (int)intnumber (real)floatarrayliststringstrobjectdictJSON dịch kiểu dữ liệu đối tượng PythonCó hai phương thức có sẵn trong mô-đun Python 7 để xử lý quy trình khử lưu huỳnh
Deserializing luồng sử dụng load()Để deserialize theJSON formated stream thành một đối tượng Python, bạn cần sử dụng phương thức 6
Đây là một kết quả thực thi Deserializing chuỗi sử dụng tải()Để giải tuần tự hóa chuỗi định dạng JSON thành một đối tượng Python, bạn cần sử dụng phương thức 7
Đây là một kết quả thực thi Đọc dữ liệu JSON trong PythonTùy thuộc vào loại nguồn dữ liệu JSON (chuỗi được định dạng JSON hoặc luồng được định dạng JSON), có hai phương thức có sẵn trong mô-đun Python 7 để xử lý thao tác đọc
Đọc dữ liệu từ một tệp bằng load()Bạn cần sử dụng phương thức 6 để đọc luồng có định dạng JSON và chuyển đổi nó thành một đối tượng Python. Luồng có định dạng JSON được trả về bằng phương thức 0 tích hợp sẵn của Python. Để biết thêm thông tin về thao tác với tệp, chúng tôi khuyên bạn nên xem bài viết Làm việc với tệp trong Python
Đây là một kết quả thực thi Đọc dữ liệu từ các tệp bằng tải ()Bạn cần sử dụng phương thức 7 để đọc chuỗi định dạng JSON và chuyển đổi nó thành một đối tượng Python. Chuỗi định dạng JSON có thể được lấy từ tệp bằng cách sử dụng phương thức 0 tích hợp sẵn của Python. Chúng tôi đề xuất bài viết Làm việc với tệp trong Python để biết thêm thông tin về hoạt động của tệp
Đây là một kết quả thực thi Viết dữ liệu JSON vào một tệp bằng PythonTùy thuộc vào loại dữ liệu JSON (chuỗi được định dạng JSON hoặc luồng được định dạng JSON), có hai phương thức có sẵn trong mô-đun 7 của Python để xử lý thao tác ghi
Ghi dữ liệu vào tệp bằng dump()Để ghi luồng có định dạng JSON vào một tệp, bạn cần sử dụng phương thức 4 kết hợp với phương thức 0 tích hợp sẵn của Python 1Đây là một ví dụ đầu ra Ghi dữ liệu vào tệp bằng cách sử dụng kết xuất ()Để ghi chuỗi có định dạng JSON vào một tệp, bạn cần sử dụng phương thức 6 kết hợp với phương thức 0 tích hợp sẵn trong Python 2Đây là một ví dụ đầu ra Mã hóa và giải mã các đối tượng JSON tùy chỉnh trong PythonMặc dù mô-đun 7 có thể xử lý hầu hết các loại Python tích hợp. Nó không hiểu cách mã hóa các loại dữ liệu tùy chỉnh theo mặc định. Nếu bạn cần mã hóa một đối tượng tùy chỉnh, bạn có thể mở rộng một lớp và ghi đè phương thức 9 của nó. Phương thức này được sử dụng cho các đối tượng tùy chỉnh JSONinfyVí dụ về mã hóa đối tượng tùy chỉnh trong PythonHãy xem ví dụ. Giả sử bạn có một vài lớp do người dùng định nghĩa. một 0 và một 1Và bạn muốn sắp xếp chúng thành một tài liệu JSONĐó là cách bạn có thể làm điều đó 3Đây là một ví dụ đầu ra Ví dụ về giải mã đối tượng tùy chỉnh trong PythonNếu bạn cần chuyển đổi tài liệu JSON thành một số đối tượng Python khác (tôi. e. , không phải là từ điển mặc định), cách đơn giản nhất để làm điều đó là sử dụng lớp và đối số của phương thức 6 hoặc phương thức 7Các 4Đây là một ví dụ đầu ra Làm cách nào để in dữ liệu JSON đẹp bằng Python?Có hai phương pháp để bạn in một thông báo JSON đẹp mắt
In JSON đẹp bằng cách sử dụng kết xuất ()In JSON đẹp bằng phương pháp 3 rất đơn giản 5Đối số 4 xác định thụt đầu dòng (số hoặc khoảng trắng) cho các đối tượng JSON trong quá trình inĐây là một kết quả thực thi Để định dạng tài liệu JSON trong trình bao của bạn mà không cần sử dụng công cụ của bên thứ ba, bạn có thể sử dụng mô-đun 8 Python 6Đây là một ví dụ Làm cách nào để sắp xếp các khóa JSON trong Python?Khi cần sắp xếp các khóa JSON (sắp xếp các đối tượng JSON theo tên), bạn có thể đặt đối số 9 thành 0 trong phương thức 3 7Đây là một kết quả thực thi Bản tóm tắtBài viết này trình bày các kiến thức cơ bản và kỹ thuật xử lý JSON nâng cao trong Python, bao gồm phân tích cú pháp, tuần tự hóa, giải tuần tự hóa, mã hóa, giải mã và in dữ liệu JSON đẹp mắt bằng Python. Khả năng xử lý JSON bằng Python là kỹ năng thực hành bắt buộc đối với mọi kỹ sư tự động hóa AWS, chẳng hạn như khi bạn cần xử lý quá trình xử lý luồng DynamoDB trong hàm AWS Lambda của mình Làm cách nào để ghi đầu ra JSON vào một tệp trong Python?Một cách khác để ghi JSON vào tệp là sử dụng json. phương thức dump() Gói JSON có chức năng “dump” trực tiếp ghi từ điển vào một tệp ở dạng JSON mà không cần chuyển đổi nó .
Làm cách nào để truyền tệp JSON bằng Python?Làm cách nào chúng tôi có thể viết JSON phát trực tuyến bằng Python? . Để nối thêm vào tệp JSON phát trực tuyến, chúng tôi chỉ cần mở tệp đó ở chế độ nối thêm và viết ký tự kiểm soát tiền tố và hậu tố như được chỉ định trong RFC 7464 .
Làm cách nào để chuyển đổi chuỗi JSON thành tệp JSON trong Python?bạn có thể biến nó thành JSON trong Python bằng cách sử dụng json. hàm tải() . json. hàm loading() chấp nhận đầu vào là một chuỗi hợp lệ và chuyển đổi nó thành một từ điển Python. |