Do pracy używany jest format json. Co to jest JSON i dlaczego go używać? Tworzenie ciągu JSON ze zmiennej JavaScript

Wszystkie powyższe odpowiedzi skupiają się na szczegółach. Spróbuję więc wyjaśnić tę koncepcję, abyś mógł ją zrozumieć.

Co to jest JSON? - Jak wyjaśniłem to mojej żonie TM

I:„Zasadniczo jest to sposób komunikowania się z kimś na piśmie… ale z zachowaniem zasad.

Żona: Tak....?

JA: Weźmy na przykład język angielski: mamy zasady – kropki, przecinki, nawiasy, łączniki, apostrofy itp., a każde z nich oznacza co innego. Zasadniczo wszyscy zgodziliśmy się co do tego, co oznacza kropka (tzn. powinniśmy przestać czytać).

Żona: Mówisz więc, że JSON to sposób pisania do kogoś po angielsku, ale ma zasady, na które zgadzają się obie strony?

I: Dokładnie! Poza tym zasady są bardzo szczegółowe. W prozaicznym języku angielskim zasady są dość luźne: jak w przypadku walki z komórkami: możesz robić, co chcesz, z wyjątkiem kilku podstawowych rzeczy (takich jak wyłupienie oka). Na przykład, gdybym chciał powiedzieć IRS o naszej rodzinie, mógłbym to zrobić kilka razy, używając prozaicznego angielskiego. Zwróć uwagę na różnice pod każdym względem:

Ja:

Przykład 1: W naszej rodzinie są 4 osoby: Ty, ja i 2 dzieci.

Przykład 2: Nasza rodzina: ty, ja, dzieciak1 i dzieciak2.

Przykład 3: Rodzina: [ty, ja, dziecko1, dziecko2]

Przykład 4: w naszej rodzinie były 4 osoby: mama, tata, dziecko 1 i dziecko 2.

Żona: OK, rozumiem obraz. To samo można powiedzieć po angielsku na wiele różnych sposobów. Możesz dodać kilka słów tu i tam, kilka przecinków tu i tam, a wszyscy i tak będą rozumieć.

I: Dokładnie. Z wyjątkiem JSON, zasady są bardzo restrykcyjne. Można się komunikować tylko w określony sposób. I trzeba przestrzegać tych zasad, żeby ktoś inny to zrozumiał: nawiasy, w niektórych miejscach przecinki.

Żona: Dlaczego nie używają po prostu prostego angielskiego?

I: Mieli, ale pamiętajcie, zajmowali się komputerami. Komputer jest głupi i nie będzie w stanie zrozumieć zdań. Musimy więc być bardzo precyzyjni, gdy w grę wchodzą komputery, w przeciwnym razie będą zdezorientowani. Ponadto JSON jest dość wydajnym sposobem komunikacji, więc większość nieistotnych rzeczy jest wycinana, co jest całkiem wygodne. Jeśli chcesz zgłosić naszą rodzinę na swój komputer, możesz to zrobić jednym ze sposobów:

(„Rodzina”: [„Ja”, „Żona”, „Dziecko1”, „Dziecko2”])

I jest to głównie JSON. Pamiętaj jednak, że MUSISZ przestrzegać zasad gramatyki JSON. Jeśli naruszysz te zasady, komputer po prostu nie zrozumie (tzn. nie przeanalizuje) tego, co napiszesz.

Żona: Jak więc pisać w Json?

Ja: Przeczytaj powyższe odpowiedzi, aby uzyskać szczegółowe informacje. Krótko mówiąc, jesteś zmuszony do wymiany danych przy użyciu par klucz-wartość i tablic.

Streszczenie

JSON to w zasadzie sposób przekazywania komuś danych, podlegający bardzo, bardzo szczegółowym zasadom.

JSON to format tekstowy służący do rejestrowania danych. Pozwala przedstawić w formie tekstowej zarówno pojedynczą liczbę lub ciąg znaków, jak i złożone struktury, na przykład tablice z danymi. Korzystanie z tego formatu zapisu jest wygodne, ponieważ jest czytelne i intuicyjne, a jednocześnie pozwala na przechowywanie bardzo złożonych struktur danych. Ponadto jest bardziej kompaktowy niż XML, więc moim zdaniem jest bardziej preferowany do wymiany danych między przeglądarką internetową a serwerem.

Składnia JSON z przykładami

Format json jest zwykle zapisywany w 2 wariantach:

1. Sekwencja wartości. Na przykład sekwencja 10, 15 i „test” w formacie JSON wyglądałaby następująco:

2. Nagrywanie w parach kluczowa wartość . Na przykład:

(„Imię i nazwisko”: „Iwanow Siergiej”, „Data urodzenia”: „09.03.1975”)

Nieco bardziej złożony przykład:

(„Imię i nazwisko”: „Iwanow Siergiej”, „Adres”: („Miasto”: „Moskwa”, „Ulica”: „Piatnicka”, „Dom”: „35”) )

Funkcje PHP do pracy z formatem JSON

W języku PHP od wersji 5.2. są tylko 4 funkcje:

  • json_decode- Dekoduje ciąg JSON (pobiera dane z ciągu w formacie json)
  • json_encode- Zwraca reprezentację danych w formacie JSON (konwertuje dane na ciąg json)
  • json_last_error_msg- Zwraca ciąg wskazujący komunikat o błędzie ostatniego wywołania funkcji json_encode() lub json_decode()
  • json_last_error- Zwraca ostatni błąd

Zasadniczo używane są tylko dwie funkcje: json_encode I json_decode. Nie będę wchodził w szczegóły ich składni, możesz zajrzeć do php.net, aby uzyskać więcej szczegółów. Przykład użycia:

$arr1 = tablica(0,1,2); $json_str = json_encode($arr1); echo $json_str; // wyświetli ciąg json: $arr2 = json_decode($json_str); echo $arr2; // wyświetli: 1

notatka : Na kodowanie do formatu danych JSON w języku rosyjskim, funkcja json_encode konwertuje znaki rosyjskie na Unikod, tj. zastępuje je \uXXXX w ten sposób ciąg json staje się nieczytelny dla ludzi (ale zrozumiały dla przeglądarki). Jeśli chcesz uniknąć konwersji do Unicode (na przykład podczas debugowania kodu), możesz po prostu użyć opcji JSON_UNESCAPED_UNICODE.

Ponadto, aby podczas kodowania nie były dodawane ukośniki i aby ciągi znaków z liczbami były kodowane jako liczby, możesz użyć JSON_UNESCAPED_SLASHES i JSON_NUMERIC_CHECK. W rezultacie, aby ciąg json był czytelny dla człowieka, zrobimy na przykład tak:

$arr = array("fio" => "Iwanow Siergiej", "wiek" => "32", "vk_url" => "https://vk.com/id11111"); echo json_encode($arr, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_NUMERIC_CHECK);

Bez użycia tych opcji linia wyglądałaby następująco:

( "fio": "\u0418\u0432\u0430\u043d\u043e\u0432 \u0421\u0435\u0440\u0433\u0435\u0439", "wiek": "32", "vk_url": "https:\/\ /vk.com\/id11111" )

i korzystając z opcji otrzymujemy czytelną linię:

(„fio”: „Iwanow Siergiej”, „wiek”: 32, „vk_url”: „https://vk.com/id11111” )

Jeszcze jedna kwestia: jeśli potrzebujesz funkcji do dekodowania ciągu JSON json_decode zwrócił dokładnie tablicę, po prostu dodaj drugi parametr do funkcji równy true.

$json_str = "("a":1, "b":2, "c":3 )"; $obj = json_decode($json_str); // pobierz obiekt echo $obj->a; // wyświetli 1 $arr = json_decode($json_str, true); // pobierz tablicę asocjacyjną echo $arr["a"]; // wypisze 1

Na tym kończę moją recenzję funkcji PHP.

Funkcje JavaScript do pracy z formatem JSON

Zacznijmy od tego, że format JSON został pierwotnie wynaleziony dla języka JavaScript, a następnie stał się po prostu odrębnym formatem tekstowym używanym w różnych językach. Najwyraźniej dlatego składnia JSON jest bardzo podobna do składni pisania zwykłych obiektów i tablic.

// Przykład tablicy w JavaScript arr = ; alert(arr); // wyświetli 1 // Przykład obiektu w JavaScript obj = ( "name": "Vasya", "age": 35, "isAdmin": false ) alert(obj.name); // wypisze „Vasya”

Funkcje JavaScript służące do konwersji do i z formatu JSON:

  • Analiza JSON- dekodowanie ciągu JSON (konwersja ciągu na obiekty i/lub tablice)
  • JSON.stringify- zwraca reprezentację danych w formacie JSON (konwertując obiekty i/lub tablice na ciąg json)

Prosty przykład dekodowania ciągu json do tablicy z liczbami:

Str = ""; arr = JSON.parse(str); alert(arr); // wypisze 1

Przykład konwersji (serializacji) obiektu na ciąg JSON:

Obj = ( "imię": "Vasya", "wiek": 35, "isAdmin": false ) alert(JSON.stringify(obj)); // wyświetli („name”: „Vasya”, „age”: 35, „isAdmin”: false)

Podczas serializacji (konwersji) obiektu na ciąg JSON wywoływana jest metoda do JSON ten obiekt, jeśli istnieje. Jeśli nie ma metody, wyświetlane są wszystkie właściwości obiektu. Przykład konwersji obiektu metodą toJSON:

Obj = ( "imię": "Vasya", "wiek": 35, "isAdmin": false, toJSON: funkcja() ( zwróć ten.wiek; ) ) alert(JSON.stringify(obj)); // wypisze 35

Przykłady praktycznego zastosowania formatu JSON

Właściwie osobiście używam formatu JSON w 2 głównych sytuacjach:

1. Przesyłanie danych pomiędzy przeglądarką a serwerem za pomocą żądań Ajax.

Na przykład mamy stronę, na której musimy zaktualizować dane bez ponownego ładowania strony. Załóżmy, że potrzebujesz informacji zawierającej listę pracowników i ich dane do „pobrania” z serwera.

W JavaScript, wykorzystując jQuery, upraszczamy to i wyświetlamy dane w formie tabeli w przeglądarce:

$.getJSON("get-info.php").success(function(data) ( // żądanie ajax, dane z serwera zostaną zapisane do zmiennej danych htmlstr = "

"; for (var i=0; i "; // pierwsza kolumna - pełna nazwa htmlstr += " "; // druga kolumna - Data urodzenia htmlstr += ""; ) htmlstr = "
" + dane[i].urodziny + "
"; $("div.info").html(htmlstr); // w div z klasą info wyświetlamy wynikową tabelę z danymi ));

Na serwerze skrypt get-info.php, do którego kierowane jest żądanie Ajax, mógłby wyglądać na przykład tak:

$info_użytkownika = tablica(); // utwórz tablicę z danymi $user_info = array („fio” => „Iwanow Siergiej”, „urodziny” => „09.03.1975”); $user_info = array („fio” => „Aleksiej Pietrow”, „urodziny” => „18.09.1983”); echo json_encode($user_info); Wyjście;

W tym przykładzie ciąg JSON przesłany z serwera do przeglądarki wyglądał następująco:

[("fio":"Siergiej Iwanow","urodziny":"09.03.1975"),("fio":"Aleksiej Pietrow","urodziny":"18.09.1983")]

Celowo nie pokazałem linii w formie „drzewa”, bo jest przekazywany dokładnie w tej formie. A jak ocenić, nagrywanie danych w formacie JSON okazało się bardzo kompaktowe co oznacza, że ​​transfer tych danych z serwera do przeglądarki będzie niemal natychmiastowy.

2. Zapisywanie złożonych struktur danych do bazy danych.

Czasami zdarzają się sytuacje, gdy nie jest wskazane tworzenie w bazie danych kolejnej tabeli w celu przechowywania różnych danych. Załóżmy, że użytkownik zarejestrowany na stronie ma możliwość dostosowania koloru tła i koloru tekstu.

Zamiast tworzyć kolejną tabelę dla 2 ustawień, możesz po prostu utworzyć w tabeli kolumnę tekstową z listą użytkowników, w której należy umieścić dane ustawień użytkownika. Wówczas żądanie aktualizacji ustawień mogłoby wyglądać na przykład tak:

AKTUALIZUJ ustawienia SET użytkowników = "("kolor-tła":"#FFFFFF", "kolor-tekstu":"#000000")" GDZIE id_użytkownika = 10

W przyszłości po otrzymaniu ze stołu użytkownicy informacji, skrypt php może z łatwością zamienić je z powrotem w tablicę z ustawieniami. Przykładowo, jeśli zmienna $user_info zawiera dane uzyskane dla użytkownika z tabeli users, uzyskanie tablicy z ustawieniami jest bardzo proste:

$ustawienia = json_decode($user_info["ustawienia"], prawda); echo "Kolor tła = ".$ustawienia["kolor-tła"]; echo "Kolor tekstu = ".$ustawienia["kolor-tekstu"];

W formacie JSON możesz też np. zapisać w bazie danych, jakie opcje produktowe wybrał kupujący.

(„15”:[„45”,„47”], „18”:„52”) // opcja 15 ma wybrane wartości 45 i 47, a opcja 18 ma wybraną wartość 52

W zasadzie całą zawartość koszyka możesz nawet zapisać w formacie JSON, na przykład tak:

(„id_użytkownika”: 10, „id_sesji”: „2c2l3h4ii271aojentejtdcmh3”, „produkty”: [ („id_produktu”: 15, „opcje”: („15”: , „18”: 52), „ilość”: 1, „cena”: 1500 ), („id_produktu”: 16, „opcje”: („15”: , „18”: 51), „ilość”: 2, „cena”: 1000 ) ] )

W swojej zwykłej formie innej niż drzewo ten ciąg JSON wyglądałby następująco:

("user_id":10,"session_id":"2c2l3h4ii271aojentejtdcmh3","products":[("product_id":15,"opcje":("15":"18":52),"ilość":1 , "cena":1500),("id_produktu":16,"opcje":("15":"18":51),"ilość":2"cena":1000)])

Zatem, jak widać z przykładów, prawie każda informacja może być przechowywana i przesyłana w formacie JSON.

Zmienne, tablice i obiekty są znaną i wygodną formą reprezentacji danych. Przyjęło się opisywać dane w języku przeglądarki JavaScript, co nie jest konieczne w języku serwera PHP. Format JSON pozwala podsumować je w jedną całość i nie skupiać się na języku programowania. W tym przypadku dane zamieniają się w pary: „nazwa = wartość”. Wartością w każdym z nich może być także zbiór takich par.

Zwyczajowo JSON kojarzy się z nawiasami klamrowymi i to drugie jest w pełni uzasadnione, ponieważ format JSON = JavaScript Object Notation. W ostatnich, szczególnie dynamicznych latach, wiele się zmieniło. To, co powstało w konkretnym celu, często przynosiło nieoczekiwane rezultaty lub otwierało nowe horyzonty.

Wymiana danych: przeglądarka - serwer

Technologia AJAX stała się tradycyjnym, regularnym odświeżaniem strony całkowicie przestało być popularne. Odwiedzający, otwierając witrynę, inicjuje serię częściowej wymiany danych, podczas której niektóre strony zmieniają się tylko w odpowiednim miejscu.

Uważa się, że pojawienie się JSON wiąże się z użyciem AJAX, jednak w rzeczywistości asocjacja i jej notacja obiektowa (cechy składni do opisywania i używania obiektów) mają znacznie bardziej powiązany związek z JSON niż wymiana danych pomiędzy przeglądarkę i serwer.

Ponieważ zawartość stron nowoczesnych witryn naprawdę stała się „masywna” (obszerna), szczególne znaczenie zyskała wydajność formatu wymiany danych. Nie oznacza to, że JSON stał się nową reprezentacją danych, ale istotny jest fakt, że od dawna jest on elementem składni JavaScript.

Używanie cyrylicy w nazewnictwie zmiennych jest zjawiskiem bardzo nieoczekiwanym (bzdura), ale działa w najnowszych wersjach przeglądarek Chrome, Firefox, a nawet Internet Explorer 11.

Cyrylica i JSON

Oczywiście nie ma sensu wykorzystywać tego zupełnie nieoczekiwanego zjawiska, pamiętając, jak łatwo wartości zmiennych pisane rosyjskimi literami zamieniają się w bełkot: co możemy powiedzieć o nazwach, zwłaszcza zewnętrznych.

Wątpliwe, czy inicjatywa w nazwach cyrylicowych będzie wspierana przez zewnętrzne środowisko przeglądarki, z którą stale ma do czynienia. Ale fakt ten zasługuje na uwagę z prostego powodu: format JSON to możliwość zapisywania nazw i wartości zgodnie z życzeniem programisty. Jest to o tyle ważne, że w każdym zadaniu opis obszaru aplikacji zgodnie z wymaganiami znacznie upraszcza debugowanie i zmniejsza liczbę błędów.

Nie ma znaczenia, na jakiej dokładnie podstawie powstała innowacja składniowa – JSON – ważne, że dała ona prawo i realną możliwość ustawienia korespondencji: „dowolna nazwa = dowolna wartość”.

Trzeba oddać hołd językowi JavaScript: to, co zapewnia składnia, nie zobowiązuje programisty i niczego mu nie narzuca. Programista swobodnie wykorzystuje składnię języka, aby optymalnie utworzyć model danych i algorytm ich wykorzystania.

PHP i JSON-a

Akceptując dane w formacie JSON, serwer (w szczególności poprzez PHP) zapewnia możliwość ich przetworzenia w niezmienionej postaci i zwrócenia wyniku z powrotem do przeglądarki w podobnym formacie. Tablica źródłowa PHP:

  • $cJSON = tablica („a”=> „alfa”, „b”=> „beta”, „g”=> „gamma”).

Konwertuj na JSON w celu dostarczenia do przeglądarki:

  • $cJS = json_encode($cJSON).

Wynik:

  • („a”: „alfa”, „b”: „beta”, „g”: „gamma”).

Zagnieżdżanie widoczne na zdjęciu jest dopuszczalne.

Tutaj wygenerowana tablica została dodana z nowym elementem „do siebie” z automatycznym indeksem „0”, a następnie ponownie z określonym indeksem „z”.

Json_decode() konwertuje ciąg JSON na tablicę PHP. Podobne wyniki można osiągnąć manipulując funkcjami i eksplodując(). W niektórych przypadkach ta opcja jest preferowana.

Poziom zagnieżdżenia

Elementy można zagnieżdżać zarówno po stronie przeglądarki, jak i po stronie serwera. W praktyce format JSON (opis standardu RFC 4627) zapewnia znacznie więcej niż 4 poziomy zagnieżdżenia, jednak tej funkcji nie należy nadużywać.

Najlepiej nigdy nie wykraczać poza rozsądną wystarczalność; dzięki temu kod jest czytelny, co ułatwia debugowanie i zrozumienie innym programistom.

JSON jest powszechnie określany jako konstrukcje danych prostsze niż XML i zrozumiałe zarówno dla ludzi, jak i komputerów. Dzieje się tak, gdy ilość danych jest niewielka, a programista mądrze wybrał poziom zagnieżdżenia. We wszystkich innych przypadkach policzenie liczby nawiasów i zrozumienie jest trudne zarówno po stronie przeglądarki, jak i po stronie serwera.

pliki JSON

Zastosowanie JSON w praktyce często nie ogranicza się do krótkiego ciągu znaków czytelnego dla człowieka. Każda konstrukcja danych jest zawsze pragmatyczna. Jednocześnie JSON można efektywnie wykorzystać zarówno w rzeczywistych danych zadaniowych (personel przedsiębiorstwa), jak i do implementacji danych tymczasowych (object cache).

Personel przedsiębiorstwa i format JSON: przykład

Zwykle zapis dotyczący jednej osoby to nazwisko, imię, patronimika, rok urodzenia, specjalność, wykształcenie… i kilka innych prostych wartości. Nawet w szczególnie wymagających firmach zapis na jedną osobę nie będzie przekraczał kilkunastu, dwóch pól. Jest to zauważalne i można je umieścić w ciągu znaków w bazie danych.

Jeśli firma zatrudnia kilka osób, to jedno, ale jeśli jest ich kilkadziesiąt tysięcy, to zupełnie co innego. Możesz nadal korzystać z bazy danych, ale przechowywanie jej w postaci pliku wydaje się bardziej praktyczne i dostępne.

JSON to zwykły plik tekstowy. Sprawa tabeli personelu jest oczywista. Zawsze możesz to przeczytać. Otwieranie i edytowanie jest również możliwe w dowolnym edytorze tekstu, który nie ma zwyczaju dodawania własnych informacji serwisowych do zawartości pliku. Ogólnie rzecz biorąc, *.json to czysty tekst zarówno w przeglądarce, jak i w pliku - ciąg znaków.

Na zdjęciu przykładowa skrytka obiektu tworzącego zdjęcie.

To przykładowa zawartość pliku wygenerowanego przez serwis oferujący kolorowy druk 3D na kubkach i ceramice. Naturalnie, mając taki format JSON, podjęcie decyzji o tym, jak go otworzyć, jest naprawdę problematyczne. Jednak w tym i podobnych przypadkach nie ma problemów z odczytaniem pliku: PHP czyta plik, analizuje go i przekazuje do przeglądarki. Dane zmienione przez odwiedzającego są zwracane na serwer i ponownie zapisywane.

W tym przypadku plik działa jak zmienna przechowywana poza kodem. W razie potrzeby zmienna otrzymuje wartość z pliku, a jeśli zostanie zmieniona przez odwiedzającego w oknie dialogowym udostępnionym przez witrynę, wówczas wszystkie zmiany zostaną zapisane w niezmienionej postaci. 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 tabela personelu i ani programista, ani osoba odwiedzająca witrynę nie muszą jej widzieć.

XML i JSON

„Na wszystko jest czas” to klasyczna wiedza, uznawana za aksjomat jeszcze przed pojawieniem się programowania. „Nic po prostu się nie pojawia” – tak też się działo, zanim człowiek napisał pierwszy zrozumiały program w sztucznym języku.

Formaty danych wynikają z rzeczywistych potrzeb i bazują na zdobytej wiedzy. HTML ma swoją własną ścieżkę, XML ma swoją własną ścieżkę, a JSON to logika obiektowa JavaScript rozszerzona na inne języki. Porównywanie jednego z drugim nie jest najlepszą rzeczą. Do każdej jego własności.

XML radzi sobie znakomicie ze swoimi zadaniami i z całą pewnością nie przejdzie do historii. A JSON był używany do 2006 roku, po prostu nie każdy programista uważał za swój obowiązek zadeklarowanie pewnych opcji reprezentacji swoich danych.

W praktyce zdarzały się przypadki, gdy programy pisane w BASIC-u nie korzystały z JSON jako takiego, ale doskonale przechowywały pary „nazwa = wartość” i udostępniały je właściwym algorytmom we właściwym czasie.

Znaki specjalne („`”, „~”, „|”, ...) i formaty danych

Nawyk pracy z tablicami asocjacyjnymi i obiektami w JavaScript sprawia, że ​​używanie JSON jest naturalne i wygodne. To naprawdę świetny format, ale możliwość rozdzielania i łączenia oraz manipulowania ciągami i tablicami ma znacznie głębsze korzenie.

Funkcje łączenia/dzielenia języka JavaScript oraz implodowania/eksplozji języka PHP umożliwiają wygodne i efektywne korzystanie zarówno z formatów danych XML, JSON, jak i własnej wersji. Ta ostatnia jest często optymalna, podczas gdy dwie pierwsze są idealne do zastosowań ogólnych. Jeśli informacje są przesyłane do innego programisty, serwera, pliku lub bazy danych, nie ma lepszego sposobu na znalezienie XML i JSON. Wszyscy z nimi współpracują, dlatego przekaz/odbiór informacji nie wymaga komentarzy.

Korzystanie z JSON w systemie Android

Odczyt i zapis danych w formacie JSON w systemie Android jest nie tylko normą, ale istnieje również wiele obiektów skupiających się na pracy z tym konkretnym formatem danych.

W tym przypadku używany jest format JSON. Może to i prawda, ale nie chodzi o fenomen sieci społecznościowych, ale o to, że prezentowanie informacji w formacie „nazwa = wartość” jest naprawdę wygodne zarówno w programowaniu, jak i w użyciu. W przeciwieństwie do rygorystycznego i złożonego „XML”, jest to format naprawdę przyjazny człowiekowi.

Tablice asocjacyjne

Zdarza się, że trzeba opisać zmienne (JavaScript) lub przynajmniej podać wartość początkową (PHP). W obu przypadkach zmienna może bardzo łatwo zmienić swój typ. Jeśli to konieczne, język dokonuje tej konwersji automatycznie.

Ale dlaczego zmienna nie miałaby także zmieniać swojej nazwy, pojawiać się podczas wykonywania algorytmu i znikać, gdy nie jest już potrzebna? Tablice asocjacyjne rozwiązują ten problem, ale wtedy, gdy używane są takie stosunkowo dynamiczne zmienne, nazwa tablicy i odpowiednie konstrukcje składniowe będą podążać tam, gdzie są użyte.

Ta okoliczność jest szczególnie widoczna w PHP, ale można to znieść, podobnie jak symbol „$” w nazwie zmiennej i kombinacja „$this->” wewnątrz obiektu. Programując jednocześnie w JavaScript i PHP, na początku naprawdę jesteś zdumiony, jak wszystko jest inne, ale potem wszystko staje się tak znajome i naturalne...

Tablica asocjacyjna -> JSON

W tym przykładzie dokument *.docx jest tworzony przy użyciu biblioteki PHPOffice/PHPWord, a tablica aProperties zawiera właściwości tego dokumentu (autor, firma, tytuł, kategoria, data utworzenia...).

Druga tablica zawiera dane dla strony:

  • orientacja (pozioma lub normalna);
  • wymiary pionowe i poziome;
  • wcięcia (marginesy lewy, górny, dolny, prawy);
  • nagłówki i stopki.

Dokument generowany jest na serwerze, na którym zainstalowana jest biblioteka PHPOffice/PHPWord. Strona umożliwia zarządzanie wartościami tych tablic za pomocą JavaScript. Wynik w formacie JSON jest zwracany z powrotem do serwera i wykorzystywany w algorytmach PHP, w jego konstrukcjach, czyli w tablicach.

Zmienne dynamiczne

Format JSON rozwiązuje problem zmiennych dynamicznych. Tutaj możesz tworzyć, zmieniać i usuwać zmienne bez niepotrzebnego bałaganu składniowego. Wygląda ładnie i jest używany w JavaScript.

W tym przykładzie funkcja GetOjInfo() pobiera nazwę i wartość wartości z obiektu. Początkowo obiekt ciągu JSON przypisany do zmiennej ojInfo zawiera trzy elementy: imię i nazwisko, wiek i pracę. Nieco później dodana została zmienna Status.

Po pierwszym operatorze usuwania linia ojInfo traci element age, po drugim usunięciu traci element work. Jeżeli założymy, że ciąg ten jest wyborem zmiennych mających określone znaczenie, to za pomocą JSON faktycznie można tworzyć, zmieniać i usuwać dowolne ich zbiory poza polem operacyjnym (składnią) opisu i przetwarzania języka JavaScript.

Format JSON nie został zaprojektowany dla tej opcji, ale jest możliwy, praktyczny i wygodny.

JSON(Notacja obiektowa JavaScript) to prosty format wymiany danych, który jest łatwy do odczytania i zapisu zarówno przez ludzi, jak i komputery. Opiera się na podzbiorze języka programowania JavaScript, zdefiniowanym w standardzie ECMA-262 3rd Edition - grudzień 1999. JSON to format tekstowy całkowicie niezależny od języka implementacji, wykorzystujący jednak konwencje znane programistom języków typu C, takich jak C, C++, C#, Java, JavaScript, Perl, Python i wiele innych. Te właściwości sprawiają, że JSON jest idealnym językiem wymiany danych.

JSON opiera się na dwóch strukturach danych:

  • Kolekcja par klucz/wartość. W różnych językach koncepcja ta jest realizowana jako obiekt, rekord, struktura, słownik, skrót, lista nazwana lub tablica asocjacyjna.
  • Uporządkowana lista wartości. W większości języków jest to realizowane jako szyk, wektor, lista lub sekwencja.

Są to uniwersalne struktury danych. Prawie wszystkie współczesne języki programowania obsługują je w jakiejś formie. Logiczne jest założenie, że format danych, niezależny od języka programowania, powinien opierać się na tych strukturach.

W notacji JSON wygląda to tak:

Obiekt- nieuporządkowany zestaw par klucz/wartość. Obiekt zaczyna się od ( otwierającego nawiasu klamrowego i kończy się ) zamykającym nawiasem klamrowym. Po każdej nazwie następuje: dwukropek, pary klucz/wartość oddzielone przecinkiem.

Szyk- uporządkowany zbiór wartości. Tablica zaczyna się od [ otwartego nawiasu kwadratowego i kończy się ] zamykającym nawiasem kwadratowym. Wartości oddziela się przecinkiem.


Oznaczający Może linia w podwójnym cudzysłowie, numer, prawda, fałsz, zero, obiekt Lub szyk. Struktury te można zagnieżdżać.


Linia to zbiór zero lub więcej znaków Unicode, ujętych w podwójny cudzysłów, z ukośnikiem odwrotnym \ jako znakiem ucieczki. Znak jest reprezentowany jako ciąg jednoznakowy. Podobna składnia jest używana w C i Javie.


Numer Jest reprezentowany w taki sam sposób, jak w C lub Javie, z tą różnicą, że używany jest tylko system liczb dziesiętnych.


Pomiędzy dowolnymi żetonami można używać spacji.

Z wyłączeniem niektórych szczegółów kodowania, powyższe całkowicie opisuje język.


Wydaliśmy nową książkę „Marketing treści w mediach społecznościowych: jak dostać się do głów obserwujących i sprawić, by zakochali się w Twojej marce”.

JSON to tekstowy format wymiany danych oparty na wieloparadygmatowym języku programowania. Jego głównym celem jest przechowywanie i przesyłanie zorganizowanego przepływu informacji.

Używając prostych zasad konstruowania znaków w JavaScript, można zapewnić łatwy i niezawodny sposób przechowywania dowolnego rodzaju informacji, czy to prostej liczby, całych ciągów znaków, czy ogromnej liczby różnych obiektów wyrażonych zwykłym tekstem.

Ponadto format JSON służy do łączenia obiektów i struktur danych w zbiór komponentów, tworząc w ten sposób jednostki oprogramowania, które pozwalają przechowywać i przetwarzać złożone rekordy składające się z kilku zmiennych różnych typów.

Po utworzeniu pliku zawarte w nim linie można dość łatwo przekierować do innej lokalizacji w sieci dowolną ścieżką danych. Dzieje się tak, ponieważ ciąg znaków jest zwykłym tekstem.

Co oznacza JSON?

Chociaż można go używać w prawie wszystkich językach skryptowych, jego nazwa nawiązuje do JavaScript. Narzędzie ma następujące zalety:

  1. Zajmuje stosunkowo niewielką objętość i jest kompaktowy.
  2. Treść tekstowa może być łatwo wygenerowana i odczytana przez komputery i ludzi.
  3. Można go łatwo przekształcić w strukturę dla prawie wszystkich typów języków formalnych używanych do tworzenia programów komputerowych.
  4. Większość języków programowania, czy to JavaScript, Ruby, Python czy PHP, wyposażona jest w funkcje i specjalne narzędzia do odczytu i edycji pliku.

W zdecydowanej większości przypadków do pracy nad przesyłaniem informacji z serwera do przeglądarki wykorzystywany jest format JSON. Proces ten zwykle odbywa się w tle pomiędzy przeglądarką a serwerem WWW, a dostarczanie odbywa się za pomocą AJAX. Dzieje się tak dlatego, że w trakcie procesu dostarczania danych nie ma konieczności ponownego ładowania strony.

Działa według następującego scenariusza:

  1. Przykładowo użytkownik klika kartę produktu w sklepie internetowym.
  2. JavaScript, wbudowany w przeglądarkę w celu zwiększenia funkcjonalności stron internetowych, generuje żądanie za pomocą AJAX do pliku programu skryptowego PHP działającego na serwerze. Dzięki temu przekazywane jest ID wybranego produktu.
  3. Plik programu skryptowego PHP akceptuje nazwę produktu, opis, koszt i inne informacje zawarte w bazie danych.
  4. Następnie generowany jest ciąg znaków, który jest wysyłany do przeglądarki.
  5. JavaScript pobiera ten ciąg, rekonstruuje zawarte w nim informacje z jego zakodowanej reprezentacji, a następnie wyświetla informację o wybranym produkcie na stronie internetowej użytkownika.

Wszystko to dzieje się w ciągu kilku milisekund. Jeśli jednak z jakiegoś powodu JavaScript zostanie wyłączony na Twoim komputerze, strona internetowa nie zostanie załadowana lub wyświetli błędy.

Jak działa format JSON

W JSON typy danych podzielone są na kilka kategorii: proste i złożone. Do pierwszego typu zaliczają się przede wszystkim ciągi tekstowe i liczby, drugi – obiekty. W sumie istnieje sześć głównych typów:

  1. Liczbowy. W tym przypadku liczby mogą być liczbami całkowitymi bez znaku lub liczbami całkowitymi ze znakiem. W szczególności może zawierać część ułamkową oraz reprezentację liczb rzeczywistych w postaci części ułamkowej logarytmu i rzędu. Plik pozwala na równe wykorzystanie liczb całkowitych i dzielenia zmiennoprzecinkowego. Technika ta jest stosowana w JavaScript dla wszystkich bez wyjątku wartości numerycznych, ale inne biblioteki matematyczne, które ją wykorzystują, mogą kodować przy użyciu zupełnie innych algorytmów.
  2. Dowolna sekwencja (ciąg) znaków łacińskich, cyfr i elementów interpunkcyjnych (od zera i znaków Unicode). Każda kolejna linia jest oddzielona od poprzedniej parą znaków interpunkcyjnych - cudzysłowu („tekst”) lub za pomocą symbolu, z odwrotną pisownią zwykłego symbolu, ukośnikiem.
  3. Literały lub stałe zawarte bezpośrednio w tekście. Może to być dowolna wartość z zakresu prawdy i fałszu lub ich odpowiedników.
  4. Szyk. Jest to uporządkowana lista znaków zaczynająca się od zera. Każdy znak może być przedstawiony w dowolnej formie.
  5. Obiekt. Jest to chaotycznie złożona kompozycja par klucz/wartość. Ponieważ podstawową funkcją obiektów jest reprezentowanie abstrakcyjnego typu danych, zaleca się (ale nie jest to wymagane), aby klucze były unikalne.
  6. Pusta wartość oznaczona słowem „Null”.

Spacje między znakami są dozwolone, jeśli są używane między jednostkami syntaktycznymi. Aby to zrobić, stosuje się kilka symboli: zwykłe wcięcie, poziome tabulatory tekstowe i ukośnik.

Jak otworzyć format JSON

Format wymiany danych tekstowych można przedstawić w popularnych standardach kodowania, które umożliwiają bardziej kompaktowe przechowywanie i przesyłanie znaków Unicode. W szczególności domyślnie jest to UTF-8. Można również używać UTF-16 i UTF-32. O ich zastosowaniu decyduje fakt, że wszystkie trzy standardy obsługują cały zestaw znaków.

Jeśli jednak mają być użyte jako wyrażenie regularne, są one oznaczone znakiem ucieczki (nie są cytowane), można je zapisać w celu reprezentowania znaków w dodatkowych płaszczyznach przy użyciu UTF-16.

Najłatwiejszym sposobem otwarcia formatu JSON jest użycie Notatnika na komputerze PC. Aby to zrobić, musisz utworzyć i otworzyć nowy dokument tekstowy, wybrać „Plik” w lewym górnym rogu, a następnie „Otwórz”.

Po znalezieniu żądanego dokumentu kliknij przycisk Eksploratora „Otwórz”.

Dokument zostanie otwarty i będzie można go przeglądać i edytować.

Ponadto istnieją programy innych firm do otwierania formatu JSON. Wśród nich są Altova XMLSpy, Notepad++, Komodo Edit, Sublime Text itp.

Jak utworzyć plik

Format JSON jest zwykle używany do pracy (przechowywania i używania) informacji o usługach. Zwykle jest to tabela personelu, której nie powinien widzieć ani programista, ani odbiorcy zasobu internetowego.

Istnieje kilka sposobów utworzenia pliku z odpowiednim rozszerzeniem. Przede wszystkim można to zrobić za pomocą zwykłego edytora tekstu, który jest częścią systemu operacyjnego Microsoft Windows. W tym celu należy otworzyć Notatnik, wkleić odpowiedni kod i zapisać dokument w zwykłym i jedynym dostępnym rozszerzeniu. Następnie musisz zmienić go na żądaną opcję.

Druga metoda polega na korzystaniu z usług stron trzecich. Najpopularniejszym jest Edytor JSON Online. Jest to o wiele wygodniejsze niż opcja Notatnika. Interfejs usługi przedstawiony jest w postaci dwóch stref pracy.

W pierwszej strefie odbywa się faktyczna praca związana z generowaniem danych, w drugiej znajdują się narzędzia do tego służące. Po zakończeniu procesu tworzenia należy kliknąć przycisk „Zapisz” i wybrać sposób zapisania wyniku: na dysku lub online.

Jak już wspomniano, korzystanie z usługi online jest znacznie wygodniejsze niż Notatnik. Dzieje się tak dzięki temu, że usługa automatycznie wykrywa błędy składniowe podczas działania i podświetla je, aby użytkownik mógł zauważyć pominięcia i natychmiast je poprawić.