Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
JSON - Wikipedia, wolna encyklopedia

JSON

Z Wikipedii

JSON (wymawiane jak imię "Jason" -- jā'sən), to skrót od "JavaScript Object Notation" to lekki format wymiany danych komputerowych. JSON jest tekstowym formatem wymiany danych będącym podzbiorem języka JavaScript.

Pomimo nazwy JSON jest formatem niezależnym od konkretnego języka. Wiele języków programowania, w tym Perl, C, Python wspierają ten format danych poprzez dodatkowe pakiety bądź biblioteki. Wśród tych języków programowania są ActionScript, C, C#, ColdFusion, E, Java, JavaScript, ML, Objective CAML, Perl, PHP, Python, REBOL oraz Ruby.

Spis treści

[edytuj] Wykorzystanie

JSON jest bardzo przydatny jako format wymiany danych w programowaniu aplikacji opartych o model AJAX. Przykładowo

myObject = eval("return " + json_data);

W typowych przypadkach dane w formacie JSON są pobierane z serwera przy wykorzystaniu obiektu XMLHttpRequest języka JavaScript.

 var http_request = new XMLHttpRequest();
 var url = "http://serwer.pl/to/jest/tylko/test"; // adres z danymi w formacie JSON 
 
 // pobierz dane w formacie JSON z serwera
 http_request.onreadystatechange = handle_json;
 http_request.open("GET", url);
 http_request.send(null);
 
 function handle_json() {
        if (http_request.readyState == 4) {
                if (http_request.status == 200) {
                        var json_data = http_request.responseText; 
                        eval(var the_object = "("+json_data+")");
               } else {
                       alert('Wystąpił problem z wybranym adresem URL.');
               }
               http_request = null;
       }
}

Zauważ, że wykorzystanie w tym przykładzie obiektu XMLHttpRequest nie jest przenośne pomiędzy przeglądarkami! Obiekt XMLHttpRequest jest w tym przykładzie wykorzystywany asynchronicznie, co jest popularniejsze niż metoda synchroniczna.

[edytuj] Przykład

{"menu": {
  "id": "file",
  "value": "File",
  "popup": {
    "menuitem": [
      {"value": "New", "onclick": "CreateNewDoc()"},
      {"value": "Open", "onclick": "OpenDoc()"},
      {"value": "Close", "onclick": "CloseDoc()"}
    ]
  }
}}

Powyższe dane zapisane w XML-u:

<menu id="file" value="File">
  <popup>
    <menuitem value="New" onclick="CreateNewDoc()" />
    <menuitem value="Open" onclick="OpenDoc()" />
    <menuitem value="Close" onclick="CloseDoc()" />
  </popup>
</menu>

[edytuj] Porównanie z XML-em i innymi językami znaczników

Dostęp do danych w formacie JSON jest łatwiejszy i szybszy z poziomu języka JavaScript niż dostęp do tych samych danych w formacie XML. Również analiza składniowa takich danych jest prostsza.

Niektórzy programiści obeznani z językami programowania z rodziny języka C uważają, że JSON jest bardziej naturalny niż XML, natomiast inni uważają, że jego skąpa notacja jest myląca.

XML jest szerzej wspierany przez przemysł informatyczny przez co istnieje więcej narzędzi programistycznych do wykorzystania po stronie serwera. Ilość analizatorów formatu JSON nie jest na razie imponująca i wynosi średnio jeden do dwóch w danym środowisku. Z drugiej strony, analizowanie danych po stronie klienta jest wspierane bezpośrednio przez funkcję eval() języka JavaScript.

Żaden z tych formatów nie udostępnia bogatego mechanizmu reprezentacji dużych ilości danych w postaci binarnej.

YAML, język serializacji danych jest nadzbiorem języka JSON. Jednakże JSON jest łatwiejszy do parsowania[1].

[edytuj] Inne uproszczone języki znacznikowe

  • SOX (Simple Outline XML)
  • YAML, który jest nadzbiorem JSON-a
  • S-expression

[edytuj] Zobacz też

[edytuj] Linki zewnętrzne

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com