JSON¤
Přehled¤
SP-Lang nabízí vysokorychlostní přístup k datovým objektům JSON.
!GET: Získá jednotlivou hodnotu z JSON.!JSON.PARSE: Parsuje JSON.
!GET¤
Získá jednotlivou hodnotu z JSON.
Typ: Mapping.
Synopsis:
!GET
what: <item>
type: <type>
from: <json>
default: <value>
Získá položku zadanou pomocí what z JSON objektu from.
Pokud položka není nalezena, vrátí default nebo chybu, pokud není zadáno default.
default je nepovinné.
Volitelně můžete zadat typ položky pomocí type.
what musí být konstanta známá v době kompilace (JSON pointer).
Příklad
JSON (aka !ARG jsonmessage):
{
"foo.bar": "Příklad"
}
Pro získání pole foo.bar z výše uvedeného JSON:
!GET
what: foo.bar
from: !ARG jsonmessage
JSON Pointer¤
Pro přístup k položce ve vnořeném JSONu je třeba použít JSON Pointer (např. /foo/bar) jako what.
Pro odvození typu položky se použije schéma, ale pro složitější přístup doporučujeme použít argument type.
Vnořený JSON
Vnořený JSON (aka !ARG jsonmessage):
{
"foo": {
"bar": "Příklad"
}
}
Příklad extrakce řetězce z vnořeného JSON:
!GET
what: /foo/bar
type: str
from: !ARG jsonmessage
!JSON.PARSE¤
Parsuje JSON.
Typ: Mapping.
Synopsis:
!JSON.PARSE
what: <str>
schéma: <schema>
Parsuje JSON řetězec.
Výsledek lze použít např. pomocí operátoru !GET.
Nepovinný argument schema určuje schéma, které se má použít.
Výchozím schématem je vestavěné ANY.
Příklad
!JSON.PARSE
what: |
{
"string1": "Ahoj světe!",
"string2": "Sbohem ..."
}