Moim wymaganiem jest po prostu wyświetlenie zestawu wartości pobranych z bazy danych na rozkładówce. Używam jQuery.
javascript
jquery
xml
json
sarego
źródło
źródło
Używam JSON, chyba że muszę używać XML. Jest to prostsze do zrozumienia i (ponieważ wymaga mniejszego nakładu konfiguracji) łatwiej jest zaprogramować do czytania i pisania, jeśli biblioteki są dostępne w Twoim kontekście i są teraz dość wszechobecne.
Kiedy Amazon po raz pierwszy ujawnił swoje katalogi jako usługę internetową, zaoferował zarówno JSON, jak i XML. Około 90% implementujących wybrało JSON.
źródło
Biorąc pod uwagę twój konkretny przypadek, w którym już robisz javascript po stronie klienta, wybrałbym JSON z następujących powodów:
Ponieważ JSON jest natywny dla javascript, musiałbyś napisać mniej kodu po stronie klienta - po prostu
eval()
(lub jeszcze lepiejJSON.parse()
) ciąg JSON i uzyskać obiekt, którego możesz użyć.Jednocześnie ocena JSON po stronie klienta będzie wydajniejsza, a przez to szybsza.
Serializacja JSON generuje krótsze ciągi niż XML. Korzystanie z formatu JSON zmniejszy ilość danych przesyłanych w sieci i poprawi wydajność w tym zakresie.
Oto dalsze lektury: http://www.subbu.org/blog/2006/08/json-vs-xml
źródło
eval()
wysyłanie JSON nie jest wielkim nie-nie?Kilka innych rzeczy, na które natknąłem się w relm XML vs JSON:
JSON jest bardzo dobry dla
Co oznacza, że lubi tablicę lub tablicę zagnieżdżoną. Jednak w JSON brakuje obu
Jeśli więc połączysz dwie lub więcej usług JSON, mogą wystąpić potencjalne konflikty przestrzeni nazw. Biorąc to pod uwagę, JSON może być używany do około 90% tych samych rzeczy, do których XML może być używany podczas wymiany danych z mojego doświadczenia.
źródło
Zwykle JSON jest bardziej zwarty i szybszy do przeanalizowania.
Preferuj XML, jeśli:
Jeden ważny przypadek (prawie) XML: próba wykrycia, kiedy wysyłanie fragmentów HTML jest korzystniejsze niż wysyłanie surowych danych. AHAH może zdziałać cuda w prostych aplikacjach, ale często jest pomijany. Zwykle ten styl zakłada, że serwer wysyła fragmenty kodu HTML, które zostaną umieszczone na stronie internetowej bez przetwarzania.
Zwykle w przypadkach AHAH CSS jest maksymalnie wykorzystany do wizualnego masowania fragmentów kodu i implementowania prostych warunków, takich jak ukrywanie / pokazywanie odpowiednich części fragmentu przy użyciu ustawień specyficznych dla użytkownika lub aplikacji.
źródło
JSON jest łatwy i szybszy do przeanalizowania. XML jest trochę trudniejszy do przeanalizowania i wolniej jest analizować i przenosić (w większości przypadków).
Ponieważ używasz jQuery, sugeruję użycie JSON: jQuery może pobierać dane JSON i automatycznie konwertować je na obiekt Javascript. W rzeczywistości możesz przekonwertować dane JSON na obiekt JavaScript za pomocą eval . XML musiałby zostać ręcznie przez Ciebie przekrojony (nie wiem, jak to działa w Javascript, ale jest to trudne / bardziej irytujące w większości języków, z którymi korzystałem z bibliotek XML).
źródło
JSON jest zawsze preferowany ze względu na przetwarzanie, które przeglądarka klienta musi wykonać w celu przeanalizowania danych. Ponadto JSON to lekki format wymiany danych.
Parsowanie XML zawsze pochłania dużo zasobów przeglądarki i powinno się go unikać tak często, jak to możliwe, chyba że jest to wymagane.
źródło
Mam post na blogu na ten temat opisujący szczegółowo historię protokołów sieciowych (tj. SOAP, XML, JSON, REST, POX, itp.) Zawierający podsumowanie oraz niektóre zalety i wady każdego z nich: http://www.servicestack.net / mythz_blog /? p = 154
Właściwie myślę, że można wyciągnąć wiele podobieństw między XML i JSON, porównując różnice między językami dynamicznymi (JSON) i statycznymi (XML).
Zasadniczo XML jest bardziej rygorystycznym, sztywniejszym formatem serializacji, który można opcjonalnie zweryfikować za pomocą towarzyszącego schematu (którym jest XSD lub DTD). XSD są dość rozbudowane i pozwalają opisać wiele różnych typów, np. Daty, godziny, wyliczenia, typy zdefiniowane przez użytkownika, a nawet dziedziczenie typów, itp. SOAP skutecznie opiera się na zestawie funkcji XML, zapewniając ustandaryzowany sposób opisywania usług internetowych ( np. typy i operacje) poprzez WSDL. Szczegółowość i złożoność specyfikacji WSDL oznacza, że jej tworzenie może być bardziej żmudne, ale jednocześnie jest o wiele więcej dostępnych narzędzi, a większość nowoczesnych języków zapewnia zautomatyzowane narzędzia do generowania serwerów proxy klienta, które przejmują część obciążenia wyłączone podczas próby współpracy z usługami zewnętrznymi.
Nadal zalecałbym używanie XML dla twoich usług sieciowych, jeśli masz dobrze zdefiniowaną „usługę dla przedsiębiorstw”, która nie podlega częstym zmianom lub jeśli do twojej usługi sieciowej trzeba mieć dostęp w wielu różnych językach.
Mimo wszystkich zalet XML ma również wady. Opiera się na przestrzeniach nazw, aby zapewnić rozszerzalny format o określonej typie i umożliwia określenie atrybutów i elementów w tym samym dokumencie. Posiadanie różnych przestrzeni nazw w jednym dokumencie oznacza dużo czasu, gdy używasz Xml Parser do wyodrębniania danych, będziesz również musiał podać przestrzeń nazw każdego elementu, który chcesz pobrać / przejść. Ekstrapoluje również ładunek, czyniąc go bardziej szczegółowym, niż powinien. Możliwość wyświetlania atrybutów oraz elementów oznacza, że Twoje klasy nie są dobrze odwzorowane na dokument XML. Same te funkcje sprawiają, że jest on słabo dopasowany programowo do większości języków, przez co praca z nim jest bardziej żmudna i uciążliwa.
Z drugiej strony JSON jest pod wieloma względami całkowitym przeciwieństwem XML, ponieważ jest bardzo luźny i ma prostą obsługę tylko podstawowych typów: Number, Bool, string, Objects and Arrays. Wszystko inne zasadniczo musi pasować do sznurka. Nie jest to świetne, gdy próbujesz komunikować się ponad granicami języków, ponieważ będziesz musiał przestrzegać pewnych niestandardowych specyfikacji poza pasmem, jeśli chcesz obsługiwać bardziej szczegółowe typy. Z drugiej strony, jego ograniczony zestaw funkcji jest dobrze dopasowany programowo do większości języków - i jest doskonale dostosowany do JavaScript, ponieważ ciąg JSON można oszacować bezpośrednio do obiektu JavaScript.
Rozmiar i wydajność
Mam dostępne testy porównawcze bazy danych Northwind porównujące rozmiar i szybkość między implementacjami XML Microsoftu i JSON. Zasadniczo XML jest ponad 2x większy niż JSON, ale jednocześnie wygląda na to, że Microsoft włożył wiele wysiłku w optymalizację swojego XML DataContractSerializer, ponieważ jest on ponad 30% szybszy niż JSON. Wygląda na to, że musisz znaleźć kompromis między rozmiarem a wydajnością. Niezadowolony z tego faktu zdecydowałem się napisać własny, szybki JsonSerializer, który jest teraz 2,6x szybszy od XML-a MS - więc najlepsze z obu światów :).
źródło
Wybrałbym XML zamiast JSON, jeśli potrzebuję zweryfikować porcję danych przychodzących, ponieważ XML natywnie obsługuje to przez XSD.
źródło
z JSON - ostatnie stopy
źródło
JSON to natywne kodowanie dla javascript. Powinien być znacznie szybszy i łatwiejszy w obsłudze.
źródło
Z pierwszego wiersza pod adresem http://json.org/xml.html
Oczywiście JSON jest szybszy, ale jest jeszcze wyraźniejszy, że jest trudny do odczytania. Użyj JSON dla szybkości, użyj XML, jeśli będzie interakcja międzyludzka i możesz poświęcić szybkość.
źródło
Używam JSON do wszelkiego rodzaju konfiguracji, wymiany danych lub przesyłania wiadomości. Używam XML tylko wtedy, gdy muszę z innych powodów lub semantycznie oznaczyć dane podobne do dokumentów.
źródło
Zarówno XML, jak i JSON są obsługiwane przez firmę Microsoft. Literały XML były nową fajną funkcją w VB 9. W nadchodzącej wersji ASP.NET 4.0 JSON jest koniecznością, aby wykorzystać moc szablonów po stronie klienta.
Z pytania, które zadałeś, wydaje się, że JSON może być wyborem dla Ciebie, ponieważ jest łatwy do przetworzenia po stronie klienta z lub bez jQuery.
źródło
Korzystanie z formatu JSON
Korzystanie z XML
źródło
Znalazłem ten artykuł na cyfrowym bazarze naprawdę interesujący.
Poniżej zacytowano niektóre fragmenty artykułu.
O plusach JSON:
O profesjonalistach XML:
źródło
Szybkie zasady:
Wyjaśnienie:
Jedyną rolą JSON jest serializacja danych obiektowych przy użyciu typów danych wspólnych dla większości języków programowania: list , skrótów i skalarów , iw tym celu naprawdę nie można tego przebić ani ulepszyć. W związku z tym „JSON nie ma numeru wersji [as] nie przewiduje się żadnych zmian gramatyki JSON”. - Douglas Crockford (Nie można tego pobić jako znaku, że doskonale wykonujesz swoją pracę)
XML był kiedyś sprzedawany jako format wymiany danych, ale rozważ dwa najczęstsze przypadki użycia: asynchroniczna komunikacja klient-serwer (AJAX) - JSON prawie całkowicie zastąpił XML (X powinien naprawdę być J) oraz usługi sieciowe : JSON sprawił, że XML stał się zbędną alternatywą.
Inną rzeczą, do której XML był szeroko używany, były pliki danych do zapisu / odczytu (?) Dla programów, ale tutaj również masz bardziej zwięzły, bardziej przyjazny programom, bardziej przyjazny dla człowieka format w YAML, nadzbiór JSON.
Tak więc pod względem reprezentacji danych JSON przewyższa XML na całej planszy. Co w takim razie zostało dla XML? Reprezentacja dokumentów o mieszanej treści, do czego była przeznaczona .
źródło
Większość nowszych technologii internetowych działa przy użyciu formatu JSON, więc zdecydowanie jest to dobry powód do korzystania z formatu JSON. Ogromną zaletą jest to, że w XML można przedstawić na wiele różnych sposobów te same informacje, co w JSON jest prostsze.
Również JSON IMHO jest znacznie bardziej przejrzysty niż XML, co daje mi wyraźną przewagę. A jeśli pracujesz z .NET, Json.NET jest wyraźnym zwycięzcą, jeśli chodzi o pomoc w pracy z JSON.
źródło