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>
typ: <type>
od: <json>
výchozí: <value>
Získat 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
.
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 ..."
}