Json và xml trong python là gì?

Trước khi biết về sự khác biệt giữa JSON và XML, chúng ta nên biết về định nghĩa của json và xml

json là gì?

JSON là viết tắt của ký hiệu đối tượng JavaScript. JSON đã được bắt nguồn từ javascript, trong đó javascript là ngôn ngữ lập trình. Ban đầu nó được tạo để chứa dữ liệu có cấu trúc có thể được sử dụng trong javascript. JSON trở nên phổ biến đến mức nó được sử dụng làm dữ liệu cho tất cả các loại ứng dụng. Đây là cách phổ biến nhất để gửi dữ liệu cho API Web

Các kiểu dữ liệu cơ bản được hỗ trợ bởi json là

  • Dây. Các ký tự được đặt trong dấu nháy đơn hoặc kép
  • Số. Một số có thể là số nguyên hoặc số thập phân, dương hoặc âm
  • Booleans. Giá trị Boolean có thể đúng hoặc sai mà không có bất kỳ dấu ngoặc kép nào
  • Vô giá trị. Ở đây, null có nghĩa là không có gì nếu không có dấu ngoặc kép

Ngoài các kiểu dữ liệu cơ bản, json còn có mảng và đối tượng

Mảng

Mảng là danh sách được biểu thị bằng dấu ngoặc vuông và các giá trị có dấu phẩy ở giữa chúng. Chúng có thể chứa các kiểu dữ liệu hỗn hợp, tôi. e. , một mảng có thể có chuỗi, Boolean, số

Ví dụ

ví dụ 1. [1, 2, 7. 8, 5, 9, 10];

ví dụ 2. ["đỏ", "vàng", "xanh"];

ví dụ 3. [8, "xin chào", null, true];

Ở trên, ví dụ 1 là một mảng số, ví dụ 2 là một chuỗi các chuỗi và ví dụ 3 là một mảng các kiểu dữ liệu hỗn hợp

Các đối tượng

Các đối tượng là từ điển JSON được đặt trong dấu ngoặc nhọn. Trong các đối tượng, khóa và giá trị được phân tách bằng dấu hai chấm '. ', các cặp được phân tách bằng dấu phẩy. Các khóa và giá trị có thể thuộc bất kỳ loại nào, nhưng loại phổ biến nhất cho các khóa là một chuỗi

Ví dụ. {"màu đỏ". 1, "màu vàng". 2, "xanh". 3};

làm tổ

Nesting liên quan đến việc giữ các mảng và các đối tượng bên trong nhau. Chúng ta có thể đặt mảng bên trong đối tượng, đối tượng bên trong mảng, mảng bên trong mảng, v.v. Có thể nói tệp json là một đối tượng lớn với rất nhiều đối tượng và mảng bên trong

Thí dụ

Trong đoạn mã trên, bài hát bắt đầu bằng dấu ngoặc nhọn. Vì vậy, một bài hát là một đối tượng. Nó chứa ba cặp khóa-giá trị trong đó tiêu đề, nghệ sĩ và nhạc sĩ là các khóa. '

XML là gì?

XML là viết tắt của ngôn ngữ đánh dấu có thể mở rộng. Nó giống như HTML, trong đó HTML là viết tắt của ngôn ngữ đánh dấu siêu văn bản. HTML được sử dụng để tạo trang web, trong khi XML có thể được sử dụng cho bất kỳ loại dữ liệu có cấu trúc nào

XML has two ways of handling data, i.e., Tags and Attributes. The tags work as HTML. The start tags start with the <_> and end with the . The start and end tags must match. The names must only be letters, numbers, and underscore, and the tag name must start with a letter only.

Ví dụ

Chào thế giới

Thẻ lồng nhau

Khi chúng tôi đặt thẻ bên trong thẻ khác tạo dữ liệu lồng nhau

Ví dụ

Như chúng ta có thể quan sát trong đoạn mã trên, bên trong thẻ màu, chúng tôi có thêm ba thẻ, tôi. e. , đỏ, vàng và xanh lá cây

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 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à ứ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 trên cơ sở dấu hai chấm (. ) và một cặp khóa-giá trị hoàn chỉnh được phân tách bằng các cặp 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ẻ được xác định trước nào. Chúng tôi có thể tạo các 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 máy chủ và ứ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 ở 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ố, 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 xmltodict của Python đượ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 gói chỉ mục python (pip) và nó có thể được cài đặt trong Python 2 và 3. Trong trường hợp của pip2, hãy thực hiện lệnh sau để cài đặt mô-đun xmltodict

cài đặt pip xmltodict

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

cài đặt pip3 xmltodict

Json và xml trong python là gì?

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 phiên bản Python3, hãy chạy lệnh sau

sudo apt cài đặt python3-xmltodict

Json và xml trong python là gì?

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 chuyển đổi này. json là một mô-đun Python tích hợp. Do đó, nhu cầu cài đặt chúng bị loại bỏ. xmltodict. hàm parse() chuyển đổi dữ liệu XML thành từ điển Python. Sau đó, json. Hàm 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 quá trình hai bước

Trước tiên, chúng ta phải chuyển đổi XML thành đối tượng từ điển Python bằng xmltodict. hàm phân tích ()

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

# nhập các mô-đun
nhập xmltodict
nhập json
# khai báo xml
my_xml = """


1
Les Jardins du Marais
3
Internet
Đúng
   

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

Internet
Phòng tập thể dục
Bãi đậu xe
Nhà hàng
       
Sai
   

"""

#chuyển xml sang từ điển Python
dict_data = xmltodict. phân tích cú pháp( my_xml )
# chuyển sang json
json_data = json. kết xuất( dict_data , thụt lề =2)
in( json_data )

đầu ra

Đầu ra cho thấy XML được chuyển đổi thành công sang định dạng JSON

Json và xml trong python là gì?

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 thành JSON và lưu trữ nó trong tệp JSON

Sau đây là tệp XML

Json và xml trong python là gì?

# nhập các mô-đun
nhập json
nhập xmltodict
# mở tệp xml
với mở("khách sạn. xml","r") như xmlfileObj:
    #converting xml data to dictionary
    data_dict = xmltodict. phân tích cú pháp( xmlfileObj. đọc())
    xmlfileObj. đóng()
    #tạo đối tượng JSON bằng đối tượng từ điển  
    jsonObj = json. kết xuất( data_dict )
   
    #lưu trữ dữ liệu json vào tệp json
    với mở("khách sạn. json", "w") as jsonfileObj:
        jsonfileObj. viết( jsonObj )
        jsonfileObj. đóng()

đầu ra

Trình thông dịch Python không hiển thị bất kỳ lỗi nào; . tập tin json

Json và xml trong python là gì?

Json và xml trong python là gì?

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 mô-đun xmltodict và JSON. Bài viết này giải thích việc chuyển đổi dữ liệu XML sang JSON bằng các ví dụ

XML và JSON dùng để làm gì?

JSON là định dạng trao đổi dữ liệu và chỉ cung cấp đặc tả mã hóa dữ liệu. XML là ngôn ngữ để chỉ định ngôn ngữ đánh dấu tùy chỉnh và cung cấp nhiều thứ hơn là trao đổi dữ liệu. Với ngữ nghĩa chặt chẽ của nó, XML đã xác định một tiêu chuẩn để khẳng định tính toàn vẹn dữ liệu của các tài liệu XML, của bất kỳ ngôn ngữ con XML nào.

Sự khác biệt giữa JSON và XML là gì?

JSON (Ký hiệu đối tượng JavaScript) là một định dạng trao đổi dữ liệu nhẹ và nó hoàn toàn độc lập với ngôn ngữ. Nó dựa trên ngôn ngữ lập trình JavaScript, dễ hiểu và dễ tạo. XML (Ngôn ngữ đánh dấu mở rộng) được thiết kế để mang dữ liệu, không hiển thị dữ liệu. Đó là khuyến nghị của W3C

JSON được sử dụng để làm gì trong Python?

JSON là cú pháp để lưu trữ và trao đổi dữ liệu . JSON là văn bản, được viết bằng ký hiệu đối tượng JavaScript.

XML được sử dụng để làm gì trong Python?

Ngôn ngữ đánh dấu có thể mở rộng (XML) là ngôn ngữ đánh dấu mã hóa tài liệu bằng cách xác định một bộ quy tắc ở cả định dạng máy đọc được và con người đọc được. Extended from SGML (Standard Generalized Markup Language), it lets us describe the structure of the document. In XML, we can define custom tags.