2011-12-14 34 views
6

Có quy tắc nghiêm ngặt nào về việc chuyển đổi giữa JSON và XML không?Có quy tắc nghiêm ngặt nào để chuyển đổi JSON sang XML và ngược lại không?

Chương trình tôi đang làm việc sẽ có thể xuất kết quả ở cả hai định dạng, nhưng trong số tất cả các tiện ích chuyển đổi có thể, thư viện, v.v ... tôi không thể hiểu được nếu có bất kỳ tiêu chuẩn nào (có thể là "de-facto") chuyển đổi.

vấn đề

chung, như tôi thấy, là:

  • chuyển đổi từ dạng này sang dạng khác và sau đó trở nên cho kết quả giống với bản gốc;

  • JSON có mảng - việc lồng đơn giản các mục con tương tự trong XML sẽ không làm, vì một số công cụ xử lý XML sẽ không giữ nguyên thứ tự;

  • XML có thuộc tính - biểu diễn của chúng dưới dạng mục con sẽ thay đổi XML gốc khi chuyển đổi trở lại.

Tôi có thể tìm thấy bất kỳ tài liệu nào về câu hỏi này - hoặc tôi có thể sử dụng bất kỳ trình chuyển đổi phù hợp nào do thiếu tiêu chuẩn như vậy không?

Cảm ơn bạn trước về các liên kết, lời khuyên, hướng dẫn.

Trả lời

1

Không ... Chưa có quy tắc nghiêm ngặt nào. Như bạn ngụ ý ... Mặc dù JSON có thể được chuyển đổi thành XML, chuyển đổi không thể mạnh mẽ, bởi vì danh sách thẻ XML không theo định nghĩa, kết hợp với bất kỳ cấu trúc dữ liệu cụ thể nào danh sách). Do đó ... các tệp JSON, nếu được chuyển đổi sang XML, không thể chuyển đổi trở lại thành JSON (trừ khi tất nhiên bạn nhúng một số thông tin meta không chuẩn vào các đối tượng JSON được sử dụng để giải mã XML).

+0

Cảm ơn bạn đã trả lời rõ ràng! –

+1

Có ánh xạ từ JSON đến XML không bị mất thông tin. Nhưng bởi vì họ phải đối phó với các trường hợp cạnh, XML họ tạo ra ít dễ sử dụng hơn so với các trình biến đổi khác, điều này làm mất thông tin. Bạn chọn. –

0

Cá nhân rất nhiều điều này sẽ thực sự phụ thuộc vào chi tiết cụ thể của bạn để triển khai. Nhưng cuối cùng, chìa khóa thật sự phải ở trong các mối quan hệ thực tế mà bạn có ...

  • Object -> JSON
  • JSON -> Object
  • Object -> XML
  • XML -> Đối tượng

Thực sự làm bất cứ điều gì cố gắng thực hiện chuyển đổi tùy ý từ XML -> JSON hoặc ngược lại sẽ thực sự khó quản lý/xử lý khi bạn phác thảo. Nhưng nếu bạn có một mô hình đối tượng chung ở giữa, bạn nên ổn.

Vì vậy, miễn là các phương thức tuần tự hóa và Deserialization của bạn làm việc cho các loại đối tượng tương ứng, các quy trình thực tế không nên có bất kỳ vấn đề nào.

0

Có thể. Tôi nghĩ rằng tất cả các mối quan tâm của bạn có thể được xử lý làm sạch nếu bạn xác định cách chúng được xử lý. Tôi không biết cách làm tiêu chuẩn nào.

Tôi nghĩ rằng đây là rất kể trong cách bạn sẽ cần phải đi về nó http://jsontoxml.utilities-online.info/

Về cơ bản bạn muốn "mã hóa" thuộc tính và dữ liệu văn bản một cách để biểu thị dữ liệu là những gì, những gì là một thuộc tính, vvKhá intresting và tôi nghĩ rằng chơi với công cụ này sẽ cung cấp cho bạn một số ý tưởng của ra để tạo ra một ruleset sẽ làm việc cho bạn thông số kỹ thuật.

Điều quan trọng nhất nếu bạn tiếp tục với điều này là ghi lại cách xử lý hoạt động và những gì được mong đợi.

Các vấn đề liên quan