Promotic
WikipediaLinkedInYoutubeTwitterFacebook

JSON - textový formát pro výměnu dat

JSON (JavaScript Object Notation, JavaScript objektový zápis) je textový způsob zápisu dat (datový formát) nezávislý na počítačové platformě. Je určený pro přenos dat, která mohou být organizována v polích nebo obsažena v objektech. JSON představuje libovolnou datovou strukturu (číslo, řetězec, boolean, null, objekt nebo z nich složené pole) zapsanou v textové podobě (řetězec). Složitost hierarchie není teoreticky nijak omezena. Zápis JSON je současně platným zápisem jazyka JavaScript.
 
JSON zápis dat je velmi jednoduchý, odlehčený a snadno se čte. Proti formátu XML je JSON úspornější, čitelnější a lépe se zpracovává. Datové struktury zapsané v JSON se snadno používají kromě samotného JavaScript i v ostatních programovacích jazycích a prostředích včetně systému PROMOTIC.
 

Typy dat v JSON

- String: Textový řetězec. Řetězec musí být vložen do uvozovek (apostrofy nejsou povoleny) a může obsahovat všechny znaky Unicode. Uvozovky a zpětné lomítko je nutné vložit ve tvaru \" a \\. Libovolný znak (stejně jako v JavaScript) lze uložit i ve tvaru uXXXX, kde XXXX značí kód znaku z tabulky Unicode zapsaný v hexadecimální soustavě.

Příklad: "Teplota", "Název je \"PROMOTIC\""

- Number: Číslo, celé číslo nebo reálné číslo (včetně zápisu s exponentem). Desetinným oddělovačem je vždy tečka.

Příklad: 1316 , -1.23 , 0.12e-4

- Boolean: Logická hodnota.

Příklad: true , false

- Null: Hodnota null.

Příklad: null

- Array: Pole (seznam hodnot). Ohraničují jej hranaté závorky []. Pole v JSON je kontejner obsahující seřazený výpis hodnot. Hodnotami pole může být kterýkoliv datový typ JSON včetně objektu nebo pole.

Příklad:

[12, "Beethoven", 33.6, false]

[0.2, ["Mozart", "Wolfgang, "Amadeus", 1756], "Salzburg", 35.8, false]

- Object: Objekt (páry název-hodnota). Ohraničují jej složené závorky {}. Objekt v JSON není plnohodnotný objekt, jaký známe z JavaScript. Jedná se o kontejner, který obsahuje pouze data a žádné metody. Každá datová položka (hodnota) objektu má svůj klíč, který je typu String. Do objektu můžeme vkládat další objekty a pole, lze tak snadno vytvářet složitější struktury.

Příklad:

{"x": 100, "y": 100}

{"position": {"x": 100, "y": 100}, "size": {"dx": 200, "dy": 100}}

 
Hodnoty ostatních datových typů nelze přímo vkládat a musí se převést na některý z JSON typů. Např. datum pro vložení do JSON převedeme do řetězce nebo do čísla.
 
JSON je tedy postaven na dvou univerzálních strukturách:
- Kolekce párů název-hodnota (Object) - v systému PROMOTIC je to objekt PmMap.
- Seřazený seznam hodnot (Array) - v systému PROMOTIC je to objekt PmArray.

Podpora JSON v systému PROMOTIC

Pm.JsonParse metoda: Z textu ve formátu JSON vytvoří objekt, pole nebo elementární hodnotu
Pm.JsonStringify metoda: Z objektu, pole nebo elementární hodnoty vytvoří text ve formátu JSON
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice