formacie JSON

formacie JSON

formacie JSON

JSON Jest to tekstowy format wymiany danych, co oznacza, że ​​jest łatwy do odczytania zarówno dla osoby, jak i programu. Jego nazwa odpowiada angielskiemu akronimowi Notacja obiektu JavaScript i jest znormalizowany jako ECMA-404. Chociaż jest to format bardzo zbliżony składnią do JAVASCRIPT, ponieważ bardzo łatwo jest przetworzyć zakodowanie danych obiektowych lub je uzyskać, jest on również używany w wielu innych językach programowania (C, C + +, Java, Python...) jako alternatywa na przykład dla XML, który ma podobny cel, ale ponieważ zawiera więcej metainformacji, wymaga więcej tekstu i dlatego zajmuje więcej miejsca, zużywa więcej przepustowości i wymaga więcej zasobów do kodowania i dekodowania zawarte w nim informacje. JSON.

Spis treści

    Dane obiektu zakodowane w JSON Są one ujęte w nawiasy klamrowe, różne zawarte w nich właściwości oddziela się przecinkami, a nazwy właściwości poprzedzają wartość, od której są oddzielane dwukropkiem.

    Zarys składni obiektu w formacie JSON

    Nazwy właściwości muszą być ujęte w cudzysłów z użyciem podwójnych cudzysłowów (chociaż niektóre parsery obsługują pojedyncze cudzysłowy) i chociaż w nazwach dozwolone są pewne znaki specjalne (takie jak znaki akcentu), nie zaleca się unikania kryteriów niektórych silników analitycznych i unikaj konfliktów podczas używania właściwości, zwłaszcza ze składnią kropka(obiekt.właściwość).

    W powyższym przykładzie widać obiekt, który ma sześć właściwości z wartościami prostymi, numerycznymi, boolowskimi lub tekstowymi; ale w formacie JSON, właściwości mogą również przyjmować jako wartość obiekt (w tym „obiekt specjalny” null) lub tablicę oprócz ciągu tekstowego (tekst w cudzysłowie), liczby (w różnych formatach) lub wartości logicznej (prawda lub fałsz ).

    Podobnie jak z językiem JAVASCRIPT (JSON jest podzbiorem JAVASCRIPT) aby wyrazić macierz, jej wartości są ujęte w nawiasy kwadratowe i oddzielone przecinkami. Najprostszy przypadek ilustruje poniższy przykład; Jest to tablica jednowymiarowa, wektor złożony z wartości liczbowych.

    En JAVASCRIPT Nie jest konieczne, aby wszystkie elementy tablicy były tego samego typu, można mieszać np. ciągi tekstowe i wartości liczbowe. Wektor, czyli tablica jednowymiarowa, może być także jednym z elementów innej tablicy, co pozwala na konstruowanie tablic wielowymiarowych o zmiennej długości. Poniższy przykład pokazuje obiekt z trzema właściwościami: pierwsza to dwuwymiarowa tablica o stałych długościach, druga o zmiennych długościach, a trzecia utworzona przez tablicę z wartościami różnych typów.

    Poniższy przykład wykorzystuje inne obiekty jako wartości właściwości obiektu nadrzędnego. Nie ma ograniczeń co do poziomu zagnieżdżenia, więc z kolei obiekty będące wartościami właściwości rodzica mogą mieć także inne obiekty jako wartości właściwości i tak dalej.

    Tak jak to się dzieje z JAVASCRIPT, kody ucieczki służą do dołączania określonych znaków do ciągu tekstowego. Najbardziej ogólnym sposobem jest użycie kodów Unicode wyrażonych za pomocą kreski ucieczki, litery u i czterech cyfr szesnastkowych w formacie "\u263A" aby odnieść się na przykład do ☺.

    Standardowe znaki występujące w większości języków (podobnie jak C) są następujące

    • Odrzut \b Kod ASCII 8 (0x08)
    • Tabulator \t Kod ASCII 9 (0x09) Zwykle jest przedstawiany jako HT (tabulator poziomy)
    • Nowa linia \n Kod ASCII 10 (0x0A) Zwykle jest przedstawiany jako LF (przesunięcie linii)
    • Nowa strona \f Kod ASCII 12 (0x0C) Zwykle przedstawiane jako FF (wysuw formularza)
    • Wróć \r Kod ASCII 13 (0x0D) Zwykle jest reprezentowany jako CR (powrót karetki)
    • Cytaty \" Kod ASCII 34 (0x22)
    • podzielony pasek \/ Kod ASCII 57 (0x2F)
    • Ukośnik wsteczny \\ Kod ASCII 134 (0x5K)
    • kod Unicode \uXXXX

    Pochodzi z C (i związane z Unix i tym podobne, np GNU / Linux) koniec linii jest zwykle reprezentowany przez \n i to właśnie ten należy wybrać JSON warto jednak pamiętać, że niektóre systemy operacyjne preferują inne alternatywy. Windows zwykle reprezentuje za pomocą \r\n zakończenia linii i Mac OS (przed OS \r

    Jeśli chodzi o format liczbowy, odniesienie jest również JAVASCRIPT. Separatorem dziesiętnym jest kropka, myślnik (ASCII 45 0x2D) jest używany jako znak ujemny i zapis w formie wykładniczej (Notacja naukowa) używa E jako wskaźnik (który może być pisany wielkimi lub małymi literami)

    Jak powiedziałem na początku, aby wykorzystać dane, które zostaną uzyskane w postaci tekstu, różne języki programowania mają funkcje analizy i przypisania. Poniższy przykład pokazuje, w jaki sposób można je wykorzystać JAVASCRIPT. Aby móc korzystać z niego z konsoli, dołączone jest przypisanie danych JSON Aby uniknąć możliwych błędów w zależności od standardu ECMA używanego przez tłumacza JAVASCRIPT następuje przypisanie obiektu JSON w jednej linii. Wydanie 6 z 2016 r. (ECMA-262) obsługuje ciągi wielowierszowe, edycja 5 (do 2011 r.) wymaga dodania kodu ucieczki \ a w poprzednich musisz rozwiązać to ręcznie lub użyć pojedynczej linii.

    Ostrzeżenie, aby nie wprowadzać w błąd nowych użytkowników JAVASCRIPT. Wewnątrz kodu JAVASCRIPT Do utworzenia obiektu nie jest konieczne użycie ciągu tekstowego, w poprzednim przykładzie służy on do symulacji danych przychodzących np. z serwera. Aby przypisać obiekt do zmiennej, wykonaj na przykład:

    Obiekt ten można na przykład przekonwertować na tekst za pomocą funkcji stringify następująco:

    Format JSON Jest dość elastyczny, ale głównie dlatego, że jest oparty na tekście i jest czytelny dla człowieka, ma pewne wady. Po pierwsze, wymaga więcej pamięci i zużywa więcej przepustowości, niż jest to konieczne. W poprzednich przykładach zastosowano format, który miał być bardziej czytelny niż ekonomiczny, więc nie są one przykładem oszczędności, mimo że istnieje wiele elementów formatu (nawiasy klamrowe, nawiasy klamrowe, cudzysłowy...), które będą kontynuowane zużywać zasoby w porównaniu do informacji przedstawionych w stanie surowym.

    Drugi problem pojawia się, gdy mamy do czynienia z danymi czysto binarnymi (na przykład obrazami).W przypadku małych fragmentów można go rozwiązać w sposób wyjaśniony w sprawie formatowania znaków specjalnych, ale jeśli chodzi o kodowanie informacji o określonych wymiarach, konieczne będzie osadzenie go w formacie JSON przy użyciu innego formatu tekstu. Najczęściej używanym kodowaniem do rozwiązania tego aspektu jest Baza 64 ponieważ wiele języków ma biblioteki do konwersji informacji w tym czy innym kierunku. Jeśli manipuluje się danymi w przeważającej mierze tego typu i/lub nie ma potrzeby, aby dana osoba interpretowała te informacje bez programu, warto zastanowić się, czy format JSON jest najbardziej odpowiedni.

    Zamieść komentarz

    Być może przegapiłeś