Jakie znaczenie ma XML w świecie JSON?

17

Jak ważna jest nauka języka XML, gdy JSON jest w stanie zrobić prawie wszystko, czego potrzebuję? Powiedziawszy to, używam JSON głównie do żądań AJAX i uzyskiwania danych z różnych interfejsów API. Jestem całkowitym nowicjuszem w tworzeniu stron internetowych i dlatego pytam o to, czy chcę wiedzieć, czy powinienem kupić książkę na XML, czy też po prostu dać jej przepustkę.

Rasmus
źródło
2
Biorąc pod uwagę, że napotkasz XML w dość spójny sposób, pójdę naprzód i zdobędę książkę.
Tim Post
11
Po prostu przeczytaj standard. Nigdy nie uważałem, że XML jest trudny do nauczenia się / rozumienia, po prostu żmudny.
dietbuddha,
Nigdy tego nie zrozumiałem - co jest takiego trudnego w zrozumieniu XML? 99,9% XML tam jest po prostu używany jako pojemnik na dane - to proste pliki tekstowe ludzie, nic skomplikowanego!
Keith Palmer Jr.
każdy powinien nas CSV ...
Jonathan dos Santos
1
@KeithPalmer: i wciąż w Internecie jest wiele błędów. Od nieprawidłowej deklaracji kodowania, po brakujące znaki ucieczki dla znaków, które ich potrzebują, po prostu używając pliku XML jako jednego kontenera CDATA typu huger. I nie zaczynaj ode mnie, jak pomijać przestrzenie nazw.
Joachim Sauer

Odpowiedzi:

29

Musisz nauczyć się XML, aby dostać się w dowolne miejsce w świecie internetowym. To właśnie napędza wiele komunikacji B2B i istnieje wiele standardowych formatów XML opisujących ważne.

Samo ograniczenie się do JSON jest niezwykle samoograniczające. Tak, będziesz rzucać telefonami AJAX, ale co się stanie, gdy będziesz musiał komunikować się z GeoServer? Będzie on zgodny ze standardami GIS i będzie generował XML w formatach WCS (Web Capabilities Service), WMS (Web Map Service) i WFS (Web Feature Service). Jeśli nie wiesz, jak obsługiwać XML, będziesz mieć z tym pewne problemy.

Oczywiście każdy marshaller (obiekt domeny do formatu tekstowego) warty swojej soli będzie mógł konwertować swoje obiekty do i z XML / JSON / YAML, abyś mógł argumentować, że dopóki ukryjesz się za marshallerem, musisz tylko zajmować się obiektami domeny. Usługi sieciowe zapewniają WSDL właśnie do tego celu. Ale prędzej czy później będziesz musiał przeczytać i zrozumieć treść twoich próśb i odpowiedzi, a to z pewnością będzie wymagało zrozumienia XML.

I nie zapominajmy o dobrym starym XHTML, starym standardzie sieciowym dla stron HTML. To jest XML.

Krótko mówiąc, ucz się XML - i zachowaj JSON tam, gdzie możesz, bo jest piękny.

Gary Rowe
źródło
2
Wielkie dzięki Gary! XML wygląda na tak rozdęty i naprawdę przerażający do nurkowania, ale idąc za tym, co powiedziałeś, wydaje się, że będę musiał się go nauczyć ...
Rasmus
@ Alice Rozpocznij powoli. Pomyśl o tym jak o powtarzającym się HTML. Następnie uwzględnij wielkość liter. Następnie zastanów się, w jaki sposób różne typy danych (np. Int, ciąg, data) mogą być reprezentowane i oznaczane wewnątrz tych elementów lub atrybutów. Następnie spraw, aby reprezentacja tego typu danych była nieco bardziej formalna (XSD), a będziesz już tak daleko, jak to możliwe. Ten samouczek powinien pomóc: devguru.com/features/tutorials/xml/beginning_xml.html
Gary Rowe
1
Nie wiem, jakiego języka / frameworku / platformy używasz, ale cokolwiek to jest, na pewno okaże się, że ma standardowe biblioteki do analizowania i generowania XML, nie powinieneś ręcznie interpretować spiczastych nawiasów.
Carson63000,
5
+1, chociaż za to, co jest warte, XHTML nie jest wcale taki nowy i wydaje się, że przeniósł się na tylne siedzenie z HTML 5.
John M Gant
1
Może. Chodzi mi o to, że W3C wydaje się, że ich myślenie o XHTML zmieniło się nieco w ciągu ostatnich kilku lat. Wciąż tam jest i jest obsługiwany, ale nie jest już tak, jakbyś był jakimś miłośnikiem IE, układającym tabele za pomocą skryptu, jeśli używasz zwykłego HTML zamiast XML. W każdym razie jest to trochę styczne do twojej odpowiedzi, przepraszam za to.
John M Gant,
6

XML zdecydowanie przyćmiewa JSON dla znaczników (o których przecież chodzi w nazwie).

Nie chciałbym, aby losowa strona XHTML została przekonwertowana na format JSON. To byłoby okropne. OpenOffice i najnowsze wersje pakietu Microsoft Office używają skompresowanego XML-a jako wybranego formatu.

Zasadniczo: znaczniki są w formacie XML; dane strukturalne są przesyłane w JSON.

To wtedy wyprowadzasz dane i masz pełną kontrolę nad formatem. Jeśli wysyłasz dane zgodnie ze standardami branżowymi lub konsumujesz dane innych osób, być może będziesz musiał użyć XML nawet w miejscach, w których JSON wydaje się bardziej odpowiedni. To dlatego, że XML jest już ustalony i był używany w wielu standardach.

Wymuskany
źródło
+1, szczególnie dla zauważenia różnicy między znacznikami a danymi strukturalnymi.
Arseni Mourzenko