878 Shares 6263 views

Format JSON: opis, przykład

Zmienne, tablice i obiekty są znaną i wygodną formą reprezentacji danych. Zazwyczaj opisuje się dane w języku przeglądarki przeglądarki JavaScript, co nie jest konieczne w języku serwera PHP. Format JSON umożliwia uogólnienie ich w jedną, a nie skupienie się na języku programowania. W tym przypadku dane zmieniają się w pary: "nazwa = wartość". Wartością w każdym z nich może być zbiór takich par.

Zwyczajowo jest powiązać JSON z nawiasami klamrowymi i obiektami JavaScript. Ta ostatnia jest w pełni uzasadniona, ponieważ format JavaScript JSON = Object Notation. W ostatnich szczególnie dynamicznych latach wiele się zmieniło. To, co powstało w określonym celu, często przynosi niespodziewane owoce lub otworzyło nowe horyzonty.

Wymiana danych: przeglądarka – serwer

Technologia AJAX stała się tradycyjna, zwykłe uaktualnienie całej strony przestało być popularne. Odwiedzający, otwierając witrynę, inicjuje serię częściowych wymian danych, gdy jedna lub druga strona zmienia się tylko w odpowiednim miejscu.

Uważa się, że pojawienie się JSON wynika z użycia AJAX, ale w istocie tablice asocjacyjne języka JavaScript i jego zapis obiektów (składnia opisu i używania obiektów) są ściślej związane z JSON niż wymiana danych między przeglądarką a serwerem.

Ponieważ zawartość stron nowoczesnych witryn stała się "masywna" (objętościowa), skuteczność formatu wymiany danych nabrała szczególnego znaczenia. Nie można powiedzieć, że JSON stał się nową reprezentacją danych, ale fakt, że od dawna był element składni JavaScript jest niezbędny.

Używanie cyrylicy w zmiennym nazewnictwie jest bardzo nieoczekiwanym zjawiskiem (nonsensem), ale działa w najnowszych wersjach Chrome, Firefoxa i nawet w programie Internet Explorer 11.

Cyryl i JSON

Oczywiście, nie warto używać tego zupełnie nieoczekiwanego zjawiska, pamiętając, jak łatwo zmienne wartości zmiennych pisanych w rosyjskich literach zmieniają się w krakozyabry: co można powiedzieć o nazwach, zwłaszcza zewnętrznych.

Jest wątpliwe, że inicjatywa w nazwach cyrylicy będzie wspierana przez środowisko zewnętrzne przeglądarki, z którą nieustannie musi się zajmować. Ale ten fakt zasługuje na uwagę z prostego powodu, że format JSON jest zdolnością do pisania nazw i wartości tak, jak deweloper chce. Jest to ważne, ponieważ w każdym zadaniu opis obszaru aplikacji, ponieważ wymaga tego znacznie upraszcza debugowanie i zmniejsza liczbę błędów.

Nie ma znaczenia, jaka była oparta na syntaktycznej innowacji JSON, ważne jest, aby dało to prawo i prawdziwą okazję do dopasowania: "dowolna nazwa = dowolna wartość".

Musimy oddać hołd dla języka JavaScript: co jest dostarczone przez składnię, nie zobowiązuje dewelopera i nie nakłada na niego niczego. Deweloper swobodnie używa składni języka w celu optymalnego utworzenia modelu danych i algorytmu ich używania.

PHP i JSON

Biorąc dane w formacie JSON, serwer (w szczególności przez PHP) umożliwia przetwarzanie ich tak, jak jest i zwracanie wyników z powrotem do przeglądarki w podobnym formacie. Tablica źródłowa PHP:

  • $ CJSON = array ("a" => "alfa", "b" => "beta", "g" => "gamma").

Konwertuj na JSON, aby przenieść się do przeglądarki:

  • $ CJS = json_encode ($ cJSON ).

Wynik:

  • {"A": "alfa", "b": "beta", "g": "gamma"}.

Dopuszcza się zagnieżdżanie pokazane na zdjęciu.

Tutaj tablica została dodana przez nowy element "w sobie" z automatycznym indeksem "0", a następnie z określonym indeksem "z".

Funkcja odwrotna, json_decode (), konwertuje ciąg JSON na tablicę PHP. Podobne wyniki można osiągnąć poprzez manipulowanie funkcjami PHP: implode () i explode (). W niektórych przypadkach ta opcja jest preferowana.

Poziom zagnieżdżenia

Elementy mogą być zagnieżdżone ze sobą zarówno po stronie przeglądarki, jak i po stronie serwera. W praktyce format JSON (opis RFC 4627) zapewnia znacznie więcej niż 4 poziomy zagnieżdżania, ale nie należy nadużywać tej funkcji.

Najlepiej, aby nigdy nie przekraczać rozsądnej wystarczalności, czyni to kod czytelnym, upraszcza jego debugowanie i zrozumienie przez innych programistów.

JSON jest zwykle odnoszący się do struktur danych, które są prostsze od XML, są rozumiane jednocześnie przez ludzi i komputery. To prawda, gdy ilość danych jest niewielka, a poziom zagnieżdżenia dewelopera wybrał kompetentnie. We wszystkich innych przypadkach liczenie nawiasów i zrozumienie struktury danych jest trudne zarówno po stronie przeglądarki, jak i po stronie serwera.

Pliki JSON

Wykorzystanie JSON w praktyce często nie jest ograniczone do dostępnej krótkiej linii. Wszelkie konstrukty danych są zawsze pragmatyczne. W takim przypadku JSON może być skutecznie zastosowany zarówno w rzeczywistych danych zadania (personelu przedsiębiorstwa), jak i do wprowadzania danych tymczasowych (pamięć podręczna obiektów).

Personel przedsiębiorstwa i format JSON: przykład

Zwykle zapisem jednej osoby jest imię, imię, nazwisko, rok urodzenia, specjalność, wykształcenie, … i kilka prostszych znaczeń. Nawet w szczególnie wymagających firmach rekord jednej osoby nie przekracza kilkunastu pól. Jest to dostępne dla percepcji i może być umieszczone w linii baz danych.

Jeśli w firmie jest kilka osób, to jedna rzecz, ale jeśli dziesiątki tysięcy jest zupełnie inne. Możesz kontynuować korzystanie z bazy danych, ale przechowywanie jej jako pliku wygląda bardziej praktycznie i jest bardziej dostępne do użytku.

Format pliku JSON to zwykły plik tekstowy. Sprawa z listą pracowników, gdziekolwiek się poszło. Zawsze możesz go przeczytać. Otwórz i edytuj jest również dostępny w dowolnym edytorze tekstowym, który nie ma zwyczaju dodawania jego informacji serwisowych do zawartości pliku. Ogólnie rzecz biorąc, * .json to czysty tekst zarówno wewnątrz przeglądarki, jak i wewnątrz pliku – ciąg.

Na zdjęciu widoczna jest pamięć podręczna obiektu, który tworzy obraz, przykład.

Oto przykład zawartości pliku generowanego przez witrynę, dostarczającą kolorową usługę drukującą na kubkach i produktach ceramicznych. Oczywiście, naprawdę trudno jest zdecydować, czy masz taki format JSON niż otworzyć go. Jednak w tym i podobnych przypadkach nie ma problemów z czytaniem pliku: PHP odczytuje plik, przetwarza go i wysyła do przeglądarki. Dane zmienione przez użytkownika są zwracane do serwera i rejestrowane.

W takim przypadku plik działa jak zmienna przechowywana poza kodem. Jeśli to konieczne, zmienna otrzymuje wartość z pliku, a jeśli jest ona zmieniana przez użytkownika w dialogu udostępnionym przez witrynę, wszystkie zmiany zostaną zapisane tak jak jest. Nie ma potrzeby czytania i sprawdzania zawartości pliku.

JSON jest często używany do przechowywania i wykorzystywania informacji o usługach – nie jest to spis personelu, nie jest to konieczne zarówno przez dewelopera, jak i przez osobę odwiedzającą witrynę.

XML i JSON

"Wszystko ma swój czas" – klasyczna wiedza przyjęta do aksjomatu jeszcze przed pojawieniem się programowania. "Nic nie wydaje się tak" – to było również przed tym, gdy ktoś napisał pierwszy zrozumiały program w sztucznym języku.

Formaty danych pojawiają się na podstawie rzeczywistej potrzeby i opierają się na zdobytej wiedzy. HTML ma własną ścieżkę, XML ma własną drogę, a JSON jest logiką obiektów JavaScript rozszerzoną na inne języki. Nie jest najlepszą rzeczą w porównaniu do siebie. Do każdego własnego.

XML cudownie poradzi sobie z jej zadaniami i wchodzi w historię wyraźnie nie będzie. JSON był używany jeszcze przed 2006 r., To nie każdy twórca uważał, że jest obowiązkiem zadeklarować pewne warianty prezentowania swoich danych.

W praktyce istniały przypadki, w których podstawowe programy napisano w języku BASIC, które nie używają JSON jako takich, ale doskonale zapisują pary "name = value" i dostarczają im do dyspozycji niezbędne algorytmy we właściwym czasie.

Znaki specjalne ("`, "~", "|", …) i formaty danych

Zwyczaj pracy z tablicami asocjacyjnymi i obiektami JavaScript sprawia, że korzystanie z JSON jest naturalne i wygodne. Jest to naprawdę świetny format, ale możliwość dzielenia i scalania, manipulowania ciągami i tablicami, ma znacznie głębsze korzenie.

Funkcje łączenia / dzielenia języka JavaScript i wywoływania / eksplodowania języka PHP sprawiają, że korzystanie z formatów danych XML, JSON i własnej wersji jest wygodne i efektywne. Ten ostatni jest często optymalny, a pierwsze dwa są idealne do ogólnego zastosowania. Jeśli transfer danych do innego programisty, serwera, pliku lub bazy danych, XML i JSON nie są lepsze. Z tymi wszystkimi pracami, ponieważ przekazywanie / odbieranie informacji nie potrzebuje komentarzy.

Korzystanie z JSON na Androidzie

Czytanie i zapisywanie danych w formacie JSON w Androidu to nie tylko norma rzeczy, ale także wiele obiektów zorientowanych do pracy z tym formatem danych.

Wielu kojarzy fenomenalny sukces sieci społecznych z faktem, że członkowie i użytkownicy odpowiednich witryn (Facebook, LinkedIn, Twitter, …) korzystają z materiałów publikowanych w tym miejscu.

W tym przypadku używany jest format JSON. Być może to prawda, ale pytanie nie jest fenomenalną naturą sieci społecznościowych, ale fakt, że prezentacja informacji w formacie "nazwa = wartość" jest wygodna zarówno w przypadku programowania, jak i użytkowania. W przeciwieństwie do ścisłego i złożonego "XML", jest to naprawdę przyjazny dla człowieka format.

Tablice asocjacyjne

Okazało się, że należy je opisać (JavaScript) lub przynajmniej określić wartość początkową (PHP). W obu przypadkach zmienna może łatwo zmienić typ. Jeśli to konieczne, język automatycznie przeprowadza konwersję.

Ale dlaczego zmienna nie powinna zmieniać nazwy, nie pojawiać się podczas wykonywania algorytmu, a nie zniknąć, gdy potrzeba jej zniknie? Tablice asocjacyjne umożliwiają rozwiązanie tego problemu, ale przy użyciu takich zmiennych dynamicznych, nazwa tablicy i odpowiadające im konstrukcje syntaktyczne będą dotyczyć miejsc ich zastosowania.

Szczególnie ta okoliczność jest wyraźnie wyrażona w PHP, ale może to być tolerowane, jako symbol "$" w nazwie zmiennej i kombinację "$ this->" wewnątrz obiektu. Programowanie w tym samym czasie w JavaScript i PHP, na początku jest naprawdę niesamowite, jak wszystko jest inne, ale wszystko staje się tak znane i naturalne …

Tablicę asocjacyjną -> JSON

W tym przykładzie dokument * .docx jest tworzony za pomocą biblioteki PHPOffice / PHPWord, a tabela aProperties zawiera właściwości tego dokumentu (autor, firma, tytuł, kategoria, data utworzenia …).

Druga tablica zawiera dane na stronie:

  • Orientacja (krajobrazowa lub konwencjonalna);
  • Wymiary na pionie i poziomie;
  • Wcięcia (pola po lewej, z góry, od dołu po prawej);
  • Nagłówki i stopki.

Dokument jest tworzony na serwerze, na którym jest zainstalowana biblioteka PHPOffice / PHPWord. Strona umożliwia zarządzanie wartościami tych tablic za pomocą języka JavaScript. Wynik w formacie JSON jest zwracany z powrotem do serwera i używany w algorytmach PHP, w konstrukcjach, to jest w tablicach.

Zmienne dynamiczne

Format JSON rozwiązuje problem zmiennych dynamicznych. Tutaj można tworzyć, modyfikować i usuwać zmienne bez zbędnych stosów składni. Wygląda ładnie i jest używany w JavaScript.

W tym przykładzie funkcja GetOjInfo () wybiera nazwę i wartość wartości z obiektu. Początkowo obiekt ciąg znaków JSON przypisany do zmiennej ojInfo ma trzy elementy: Nazwa, wiek i praca. Nieco później dodano status zmienny.

Po pierwszym usunięciu instrukcji, łańcuch ojInfo traci element wieku, po drugim usunięciu, element roboczy. Zakładając, że ta linia jest zbiorem zmiennych o pewnym znaczeniu, za pomocą JSON można rzeczywiście tworzyć, modyfikować i usuwać dowolne z ich zestawów poza obszarem operacyjnym (składni) opisu i przetwarzania języka JavaScript.

Format JSON dla tej opcji nie został obliczony, ale jest to możliwe, praktyczne i wygodne.