JsonParse - metoda objektu Pm
Popis:
Načte vstupní text ve formátu
JSON a vrátí jeho binární reprezentaci v podobě objektů (
PmMap), polí (
PmArray) a hodnot elementárních datových typů (
Integer,
String ...).
Syntaxe:
PmMap JsonParse(String sJson)
Parametry:
sJson | (String) Textový řetězec ve formátu JSON. |
---|
Vrácená hodnota:
Metoda vrací vždy objekt
PmMap, obsahující informace o provedené transformaci.
Upozornění: Tento objekt nepředstavuje vlastní načtená data - tyto data obsahuje až jeho vlastnost
Value.
Objekt má tyto vlastnosti:
Value | Vlastní načtená data ze vstupního textu.
Hodnota může být objekt PmMap, objekt PmArray nebo hodnota elementárního datového typu. |
ErrorCode | Číselný kód chyby.
Hodnota 0 znamená, že řetězec JSON byl načten bez chyby.
Hodnota 1 znamená, že při načítání došlo k chybě. |
ErrorIndex | Pokud při načítání řetězce JSON došlo k chybě, pak zde bude index znaku, na kterém chyba nastala.
Tato vlastnost není funkční ve Web obrazech |
Poznámka:
Objekty uložené v
JSON budou reprezentovány objekty
PmMap, pole uložené v
JSON budou reprezentovány objekty
PmArray a ostatní hodnoty uložené v
JSON budou reprezentovány hodnotou příslušného datového typu (
Variant).
K těmto hierarchickým datům v objektové podobě je v aplikaci PROMOTIC snadný přístup jak z
JavaScript, tak z
VBScript.
Tato metoda je funkční i v
Makro výraz $.expr a v události
onDraw objektu
PmgCanvas.
Tato metoda je funkční i ve
Web obrazech.
Příklad1:
Nechť je v proměnné
sJson řetězec:
[10, 20, 30, 40].
V
mMap.Value bude objekt typu
PmArray.
Do proměnné
vVal1 se uloží hodnota položky pole na indexu
1 (hodnota 20).
JavaScriptVBScriptVyber a zkopíruj do schránky
var mMap = Pm.JsonParse(sJson);
var oJson = mMap.Value;
var vVal1 = oJson.GetItem(1);
Dim mMap, oJson, vVal1
Set mMap = Pm.JsonParse(sJson)
Set oJson = mMap.Value
vVal1 = oJson.GetItem(1)
Příklad2:
Nechť je v proměnné
sJson řetězec:
{"position": {"x": 100, "y": 100}, "size": {"dx": 200, "dy": 100}}.
V
mMap.Value bude objekt typu
PmMap.
Do proměnné
vValX se uloží hodnota vlastnosti
x (hodnota 100).
Do proměnné
vValDx se uloží hodnota vlastnosti
dy (hodnota 200).
JavaScriptVBScriptVyber a zkopíruj do schránky
var mMap = Pm.JsonParse(sJson);
var oJson = mMap.Value;
var vValX = oJson.position.x;
var vValDx = oJson.size.dx;
Dim mMap, oJson, vValX, vValDx
Set mMap = Pm.JsonParse(sJson)
Set oJson = mMap.Value
vValX = oJson.position.x
vValDx = oJson.size.dx
Příklad3:
Nechť je v proměnné
sJson řetězec:
[{"x": 100, "y": 111}, {"x": 200, "y": 222}, {"x": 300, "y": 333}].
V
mMap.Value bude objekt typu
PmArray.
Do proměnné
vValX se uloží hodnota vlastnosti
x položky na indexu
1 (hodnota 200).
Do proměnné
vValY se uloží hodnota vlastnosti
y položky na indexu
1 (hodnota 222).
JavaScriptVBScriptVyber a zkopíruj do schránky
var mMap = Pm.JsonParse(sJson);
var oJson = mMap.Value;
var vValX = oJson.GetItem(1).x;
var vValY = oJson.GetItem(1).y;
Dim mMap, oJson, vValX, vValY
Set mMap = Pm.JsonParse(sJson)
Set oJson = mMap.Value
vValX = oJson.GetItem(1).x
vValY = oJson.GetItem(1).y
Historie:
Pm9.00.29: Zprovozněny vlastnosti
ErrorCode a
ErrorIndex.
Pm9.00.28:
Opravená chyba: Ze vstupního textu se špatně vytvářelo 2-rozměrné pole.
Pm9.00.09: Oprava při parsovaní
JSON. Číslo se nyní ukládá vždy jako datový typ
Double (dříve jako datový typ
Double nebo datový typ
Integer)