Ion (formát serializace) - Ion (serialization format)
![]() | Téma tohoto článku nemusí splňovat požadavky Wikipedie obecný pokyn k notabilitě.Července 2017) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Přípona názvu souboru | .ion |
---|---|
Vyvinul | Amazonka |
Typ formátu | Výměna dat |
webová stránka | amzn |
Ion je jazyk serializace dat vyvinutý uživatelem Amazonka. Může být reprezentován buď textem čitelným pro člověka, nebo kompaktní binární formou. Textová forma je nadmnožinou JSON; tedy jakýkoli platný dokument JSON je také platným dokumentem Ion.
Typy dat
Ion jako nadmnožina JSON zahrnuje následující datové typy
nula
: Prázdná hodnotabool
: Booleovské hodnotytětiva
: Textové literály Unicodeseznam
: Objednaná heterogenní sbírka iontových hodnotstruktur
: Neuspořádaná sbírka párů klíč / hodnota
Hmlovitý typ „čísla“ JSON je v Ion přísně definován jako jeden z
int
: Podepsaná celá čísla libovolné velikostiplovák
: 64bitová binárně kódovaná čísla s plovoucí desetinnou čárkou IEEEdesetinný
: Dekadicky zakódovaná reálná čísla s libovolnou přesností
Ion přidává tyto typy:
časové razítko
: Datum / čas / okamžiky časové zóny s libovolnou přesnostísymbol
: Unicode symbolické atomy (aka identifikátory)kapka
: Binární data kódování definovaného uživatelemclob
: Textová data uživatelsky definovaného kódovánísexp
: Seřazené sbírky hodnot s aplikačně definovanou sémantikou
Každý typ Ion podporuje nulovou variantu, což naznačuje nedostatek hodnoty při zachování přísného typu (např. null.int
, null.struct
).
Formát Ion umožňuje poznámky k jakékoli hodnotě ve formě symbolů. Takové anotace lze použít jako metadata pro jinak neprůhledná data (například blob).
Implementace
Příklady
Ukázkový dokument
// komentáře jsou povoleno v Ion soubory použitím the dvojnásobek vpřed rozřezat { klíč: "hodnota", // klíč tady je A symbol, to umět taky být A tětiva tak jako v JSON čísla: 1_000_000, // ekvivalent na 1000000, použití z podtržítka s čísla je více čitelný 'A plovák hodnota': -31415e-4, // klíč je A hodnota že obsahuje mezery „Hodnota int“: nula.int, anotováno: věk :: 45, // stáří tady je the anotace na číslo 45 seznamy : 'hw známky ':: [80, 85, 90], // žádný symbol umět být použitý tak jako an anotace many_annot: I :: have :: many :: annotations :: true, // anotace jsou ne vnořené, ale spíše, A seznam z anotace sexp: (tento (je A [platný] "Ion") poslední::hodnota 42) // Ion S-výrazy, blob_value: {{OiBTIKUgTyAASb8 =}}, clob_value: {{„a b“}}}
Použití
- Amazonská databáze Quantum Ledger Database (QLDB) ukládá data do dokumentů Ion. [1]
- PartiQL, otevřený zdrojový dotazovací jazyk založený na SQL také od Amazonu, je postaven na Ionu. QLDB, S3Select používají dotazy podporované pomocí PartiQL. [2]
Nástroje a rozšíření
- Ion Path Extractor API si klade za cíl spojit pohodlí DOM API s rychlostí streamovacího API.
- Podpora IDE
- Jacksonův datový formátový modul pro Ion
- Apache Hive SerDe pro Iona
- Ionové schéma
- Ion Hash definuje algoritmus pro konstrukci hash pro libovolnou hodnotu Ion.
Reference
externí odkazy
![]() | Tento programovací nástroj související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |