2011-12-14 10 views
6

Czy istnieją jakieś ścisłe reguły konwersji między JSON a XML?Czy istnieją ścisłe reguły konwersji JSON na XML iz powrotem?

Program, nad którym pracuję, powinien być w stanie generować wyniki w obu formatach, ale pośród wszystkich możliwych narzędzi konwersji, bibliotek itp. Nie mogłem zrozumieć, czy istnieje jakikolwiek standard (ewentualnie "faktyczny") dla tego konwersja.

wspólnych problemów, jak widzę, to:

  • konwersji z jednego formatu na inny, a następnie z powrotem powinna dać wynik identyczny z oryginałem;

  • JSON ma tablice - proste zagnieżdżanie podobnych elementów potomnych w XML nie byłoby możliwe, ponieważ niektóre narzędzia do przetwarzania XML nie zachowałyby porządku;

  • XML ma atrybuty - ich reprezentacja jako elementów podrzędnych zmienia pierwotny XML podczas konwersji.

Czy mogę znaleźć jakąkolwiek dokumentację na to pytanie - czy mogę użyć dowolnego odpowiedniego konwertera, ponieważ brak takiego standardu?

Z góry dziękuję za linki, porady, przewodniki.

Odpowiedz

1

Nie ... Nie ma jeszcze ścisłej zasady.

Jak sugerujesz ... Chociaż JSON można konwertować do XML, konwersja nie może być solidna, ponieważ listy znaczników XML nie są z definicji łączone z żadną określoną strukturą danych, gdzie są struktury danych JSON (mapy i listy). Zatem ... Pliki JSON, po przekonwertowaniu do formatu XML, nie mogą być bezstratnie konwertowane z powrotem do JSON (chyba, że ​​osadzone są niektóre niestandardowe informacje meta w obiektach JSON, które są używane do dekodowania XML).

+0

Dziękuję za odpowiedź! –

+1

Istnieją odwzorowania od JSON do XML, które nie tracą informacji. Ponieważ jednak mają do czynienia z przypadkami skrajnymi, tworzony przez nich kod XML jest mniej łatwy w użyciu niż w przypadku innych konwerterów, które tracą informacje. Ty wybierasz. –

0

Osobiście wiele z tego naprawdę zależy od twojej konkretnej implementacji. Ale w końcu, prawdziwy klucz powinien być w rzeczywistych relacji, które trzeba ...

  • Object -> JSON
  • JSON -> Object
  • Object -> XML
  • XML -> Obiekt

Naprawdę robiąc wszystko, co próbowało wykonać dowolną konwersję z XML -> JSON lub odwrotnie, byłoby naprawdę trudno zarządzać/przetwarzać podczas szkicowania. Ale jeśli masz wspólny model obiektu w środku, powinieneś być w porządku.

Tak długo, jak długo metody Serializacji i Deserializacji działają dla odpowiednich typów obiektów, rzeczywiste procesy nie powinny mieć żadnych problemów.

0

Tak, to możliwe. Myślę, że wszystkie twoje obawy można załatwić, jeśli zdecydujesz, w jaki sposób mają być przetwarzane. Nie znam standardowego sposobu robienia tego.

myślę, że to jest bardzo istotne, w jaki sposób trzeba zabrać http://jsontoxml.utilities-online.info/

zasadzie można by „zakodować” atrybuty i dane tekstowe z sposób, aby oznaczać co dane, co to jest atrybut, etc.Całkiem interesujące i myślę, że gra z tym narzędziem da ci kilka pomysłów na stworzenie zestawu reguł, który będzie działał dla ciebie.

Największe znaczenie, jeśli przejdziemy do tego, aby udokumentować, jak działa przetwarzanie i co jest oczekiwane.