Python XML sang JSON

Python Xml Json



Ngôn ngữ đánh dấu mở rộng (XML) và Ký hiệu đối tượng JavaScript (JSON) là hai định dạng dữ liệu nổi tiếng để lưu trữ dữ liệu. Cả JSON và XML đều cho phép chúng tôi lưu trữ dữ liệu theo cách mà con người cũng như máy móc đều có thể đọc được. Để bắt đầu, JSON là một loại cấu trúc dữ liệu được sử dụng chủ yếu để trao đổi dữ liệu giữa các máy chủ và các ứng dụng phần mềm. Nó lưu trữ dữ liệu dưới dạng các cặp khóa-giá trị. JSON tạo một đối tượng dữ liệu trong đó các cặp khóa-giá trị được phân tách dựa trên dấu hai chấm (:) và một cặp khóa-giá trị hoàn chỉnh được phân tách bởi các cặp khóa-giá trị khác dựa trên dấu phẩy.







Hơn nữa, XML là một ngôn ngữ đánh dấu kiểu HTML cũng được sử dụng để lưu trữ dữ liệu. Tuy nhiên, XML không cung cấp bất kỳ loại thẻ nào được xác định trước. Chúng tôi có thể tạo thẻ của riêng mình và lưu trữ dữ liệu. Như chúng ta đã thảo luận, cả JSON và XML đều được sử dụng để trao đổi dữ liệu giữa các máy chủ và các ứng dụng phần mềm. Tuy nhiên, hai định dạng dữ liệu hơi khác nhau. JSON là một định dạng lưu trữ dữ liệu kiểu đối tượng, trong khi XML không có kiểu. Các tệp XML chỉ lưu trữ dữ liệu ở định dạng chuỗi và nặng hơn tệp JSON. Trong khi các tệp JSON có thể lưu trữ chuỗi, mảng, số dấu phẩy động và Boolean.



Bài viết này giải thích chuyển đổi XML sang JSON bằng Python. Mô-đun Python xmltodict được sử dụng để chuyển đổi định dạng XML sang JSON.



Cài đặt mô-đun xmltodict

Trước khi bắt đầu chuyển đổi XML sang JSON, chúng ta cần cài đặt mô-đun xmltodict. Mô-đun xmltodict có thể được cài đặt bằng cách sử dụng gói chỉ mục python (pip) và nó có thể được cài đặt bằng Python 2 và 3. Trong trường hợp là pip2, hãy thực hiện lệnh sau để cài đặt mô-đun xmltodict:





pip cài đặt xmltodict

Nếu bạn đang sử dụng pip3, hãy chạy lệnh sau để cài đặt mô-đun xmltodict:

pip3 cài đặt xmltodict



Trong trường hợp hệ thống dựa trên Debian, hãy chạy lệnh sau để cài đặt mô-đun xmltodict:

sudo apt cài đặt python-xmltodict

Lệnh đã cho ở trên phù hợp với Python2. Trong trường hợp của phiên bản Python3, hãy chạy lệnh sau:

sudo apt cài đặt python3-xmltodict

Chuyển đổi XML sang JSON

Bây giờ, hãy chuyển đổi dữ liệu XML sang định dạng JSON. Chúng tôi sẽ sử dụng mô-đun xmltodict và JSON cho việc chuyển đổi này. Json là một mô-đun Python được tích hợp sẵn. Do đó, nhu cầu cài đặt chúng bị loại bỏ. Hàm xmltodict.parse () chuyển đổi dữ liệu XML thành từ điển Python. Sau đó, hàm json.dumps () lấy đối tượng từ điển đã chuyển đổi làm đối số và tiếp tục chuyển đổi nó thành định dạng JSON. Vì vậy, đây là một quy trình gồm hai bước:

Đầu tiên, chúng ta phải chuyển đổi XML thành đối tượng từ điển Python bằng cách sử dụng hàm xmltodict.parse ().

Thứ hai, chúng tôi chuyển đổi đối tượng từ điển Python sang định dạng JSON bằng cách sử dụng hàm json.dumps (). Trong hàm json.dumps (), thuộc tính thụt lề được sử dụng để thêm khoảng trắng giữa dữ liệu.

#importing the module
nhập khẩuxmltodict
nhập khẩujson
# khai báo xml
my_xml= ''


1
Vườn Marais
3
Internet
Thật


2
Cung điện nhỏ hoa tulip vàng
4

Internet
Phòng thể dục
Đậu xe
Quán ăn

Sai


''

#coverting xml sang từ điển Python
dict_data=xmltodict.phân tích cú pháp(my_xml)
#coverting to json
json_data=json.bãi rác(dict_data,thụt vào=2)
in(json_data)

Đầu ra

Kết quả đầu ra cho thấy rằng XML được chuyển đổi thành công sang định dạng JSON.

Chuyển đổi tệp XML sang tệp JSON

Dữ liệu tệp XML có thể được chuyển đổi và lưu vào tệp JSON. Hãy mở tệp XML, chuyển đổi dữ liệu XML sang JSON và lưu trữ trong tệp JSON.

Sau đây là tệp XML.

#importing the module
nhập khẩujson
nhập khẩuxmltodict
# mở tệp xml
với mở ra('Hotels.xml','NS') nhưxmlfileObj:
#converting dữ liệu xml sang từ điển
data_dict=xmltodict.phân tích cú pháp(xmlfileObj.đọc())
xmlfileObj.gần()
# tạo đối tượng JSON bằng đối tượng từ điển
jsonObj=json.bãi rác(data_dict)

# lưu trữ dữ liệu json vào tệp json
với mở ra('khách sạn.json', 'trong') nhưjsonfileObj:
jsonfileObj.viết(jsonObj)
jsonfileObj.gần()

Đầu ra

Trình thông dịch Python không hiển thị bất kỳ lỗi nào; nó có nghĩa là dữ liệu JSON được lưu thành công trong tệp .json.

Phần kết luận

XML và JSON là hai định dạng dữ liệu phổ biến để lưu trữ dữ liệu. Dữ liệu XML có thể được chuyển đổi thành định dạng JSON bằng cách sử dụng mô-đun xmltodict và JSON. Bài viết này giải thích chuyển đổi dữ liệu XML sang JSON với các ví dụ.