Xin chào, Độc giả! Trong bài viết này, chúng tôi sẽ tập trung vào khái niệm tuần tự hóa và giải phóng JSON cho các đối tượng trong Python.Serialization and Deserialization of JSON to objects in Python. Vì vậy, hãy để chúng tôi bắt đầu !! 🙂 Khi nói đến việc xử lý dữ liệu và API, chúng tôi bắt gặp một từ điển hoặc định dạng dữ liệu JSON. Đôi khi, chúng tôi cần các chức năng cho phép chúng tôi thực hiện sự xen kẽ giữa chúng. Chúng tôi sẽ xem xét một số phương pháp để dữ liệu được tuần tự hóa cũng như khử serialized. Cũng đọc: Mô -đun Python JSON Tuần tự hóa là quá trình trong đó chúng tôi chuyển đổi loại dữ liệu của dữ liệu thô thành định dạng JSON. Với điều đó, chúng tôi có nghĩa là nói rằng dữ liệu thô thường là một từ điển bây giờ sẽ tuân theo định dạng ký hiệu đối tượng JavaScript. Đối với cùng, Python cung cấp cho chúng tôi các chức năng dưới đây để dễ dàng đưa dữ liệu của chúng tôi được xây dựng thành JSON, Trong hàm json.dump [], nó chấp nhận dữ liệu thô làm đầu vào, chuyển đổi dữ liệu thành định dạng JSON và sau đó lưu trữ nó thành tệp JSON. Syntax::Tuần tự hóa dữ liệu JSON trong Python
Hàm json.dump []
json.dump[data, file-object]
- Dữ liệu: Dữ liệu thực tế cần được chuyển đổi thành định dạng JSON.
- Đối tượng tệp: Đây là đối tượng sẽ trỏ đến tệp JSON nơi dữ liệu được chuyển đổi sẽ được lưu trữ. Trong trường hợp tệp không tồn tại, thì một tệp mới được tạo tại vị trí được chỉ bởi đối tượng.
Example::
import json data= { "details": { "name": "YZ", "subject": "Engineering", "City": "Pune" } } with open[ "info.json" , "w" ] as x: json.dump[ data, x ]
Hàm json.dumps []
Không giống như hàm dump [], hàm json.dumps [] không chuyển đổi dữ liệu thô thành định dạng JSON nhưng lưu trữ nó dưới dạng chuỗi thay vì trỏ nó sang đối tượng tệp.
Syntax::
Example::
import json data= { "details": { "name": "YZ", "subject": "Engineering", "City": "Pune" } } res = json.dumps[data] print[res]
Đầu ra -
{"details": {"name": "YZ","subject": "Engineering","City": "Pune"}}
Khử tự động dữ liệu JSON
Đã hiểu về việc giải phóng hóa, bây giờ hãy để Lừa đảo ngược quá trình.
Đó là, với sự giải phóng hóa, chúng ta có thể dễ dàng chuyển đổi dữ liệu JSON thành kiểu dữ liệu mặc định/gốc thường là từ điển.
Đối với cùng một
- hàm json.load []
- hàm json.loads []
Hàm json.load []
Ở đây, hàm tải [] cho phép chúng tôi chuyển đổi dữ liệu JSON thành định dạng từ điển gốc.
Syntax::
Example::
Trong ví dụ này, trước tiên chúng tôi đã tải tệp JSON bằng hàm Open []. Đăng mà chúng tôi chuyển đối tượng giới thiệu tệp JSON cho hàm load [] và khử nó thành dạng từ điển.
import json data = open['info.json',] op = json.load[data] print[op] print["Datatype after de-serialization : " + str[type[op]]]
Đầu ra::
{"details": {"name": "YZ","subject": "Engineering","City": "Pune"}} Datatype after de-serialization :
Sự kết luận
Bằng cách này, chúng tôi đã đi đến cuối chủ đề này. Hãy bình luận bên dưới, trong trường hợp bạn bắt gặp bất kỳ câu hỏi.
Để biết thêm các bài viết như vậy liên quan đến lập trình Python, hãy theo dõi chúng tôi.
Cho đến lúc đó, học hỏi hạnh phúc! 🙂
Bài đăng này tập trung vào các cách khác nhau để tương tác với JSON với Python bằng JSON:json: //docs.python.org/3/library/json.html. Chúng tôi sẽ xem xét các hạn chế của họ, lỗi thời gian chạy, v.v., với mã mẫu. Chúng tôi bắt đầu từ một từ điển loại cơ bản và cuối cùng đã thảo luận về một giải pháp để làm việc với các đối tượng Python phức tạp.Dictionary and eventually discussed a solution for working with
complex Python objects. Module Python và JSON đang hoạt động rất tốt với từ điển. Sau đây là để tuần tự hóa và giải phóng một con trănjson module is working extremely well with dictionaries. The following is for serializing and deserializing a Python…Từ điển
Trong video này, bạn sẽ học cách phân hủy dữ liệu JSON vào các đối tượng Python bạn có thể sử dụng trong chương trình của mình.
Mô -đun json
hiển thị hai phương pháp để giảm dần JSON
load[]
sẽ tải dữ liệu JSON từ một đối tượng giống như tệp. Chúng tôi sử dụng phương pháp này khi chúng tôi đọc dữ liệu từ một đối tượng giống như tệp. will load JSON data from a file-like object. We use this method when we’re reading in data from a file-like object.
loads[]
sẽ tải dữ liệu JSON từ một chuỗi chứa dữ liệu được mã hóa JSON. will load JSON data from a string containing JSON-encoded data.
Trừ khi dữ liệu được mã hóa của bạn là một cái gì đó rất đơn giản, các phương pháp này rất có thể sẽ trả về Python dict
hoặc
import json data= { "details": { "name": "YZ", "subject": "Engineering", "City": "Pune" } } with open[ "info.json" , "w" ] as x: json.dump[ data, x ]0 chứa dữ liệu khử Deserialized của bạn.
Biểu đồ này cho thấy cách dữ liệu JSON được phân rã thành các đối tượng Python
sự vật | DIGN |
mảng | danh sách |
sợi dây | str |
Số [int] | int |
số [thực] | trôi nổi |
thật | ĐÚNG VẬY |
sai | Sai |
vô giá trị | Không có |
Tuần tự hóa và giải phóng hóa không phải là hoạt động hoàn toàn nghịch đảo! Điều này có nghĩa là sự khử thuốc có thể không trả lại cho bạn đối tượng chính xác mà bạn đã tuần tự hóa.
Ví dụ, một Python
import json data= { "details": { "name": "YZ", "subject": "Engineering", "City": "Pune" } } with open[ "info.json" , "w" ] as x: json.dump[ data, x ]1 sẽ được nối tiếp dưới dạng JSON
import json data= { "details": { "name": "YZ", "subject": "Engineering", "City": "Pune" } } with open[ "info.json" , "w" ] as x: json.dump[ data, x ]2. Khi chúng ta giảm dần
import json data= { "details": { "name": "YZ", "subject": "Engineering", "City": "Pune" } } with open[ "info.json" , "w" ] as x: json.dump[ data, x ]2, chúng ta sẽ nhận được một Python
import json data= { "details": { "name": "YZ", "subject": "Engineering", "City": "Pune" } } with open[ "info.json" , "w" ] as x: json.dump[ data, x ]0 chứa dữ liệu trong tuple. Nếu chúng tôi muốn đối tượng
import json data= { "details": { "name": "YZ", "subject": "Engineering", "City": "Pune" } } with open[ "info.json" , "w" ] as x: json.dump[ data, x ]1 ban đầu của chúng tôi trở lại, chúng tôi cần chuyển danh sách này vào trình khởi tạo cho
import json data= { "details": { "name": "YZ", "subject": "Engineering", "City": "Pune" } } with open[ "info.json" , "w" ] as x: json.dump[ data, x ]1.