Update cookies preferences
Promotic

JsonParse - metoda obiektu Pm

Opis:
Odczyta tekst wejściowy w formacie JSON oraz zwróci jego odpowiednik binarny w formie obiektów (PmMap), tablic (PmArray) oraz wartości podstawowych typów danych (Integer, String ...).
Składnia:
PmMap JsonParse(String sJson)
Parametry:
sJson(String) Łańcuch tekstowy w formacie JSON.
Wartość zwrotna:
Metoda zwraca zawsze obiekt PmMap, zawierający informacje o wykonanej transformacji.
Uwaga: Obiekt ten nie zawiera własne odczytane dane - te dane zawiera dopiero jego właściwość Value.
Obiekt posiada następujące właściwości:
ValueWczytane dane z tekstu wejściowego.
Wartość może być obiekt PmMap, obiekt PmArray lub wartość podstawowego typu danych.
ErrorCodeNumer kodu błędu.
Wartość 0 oznacza, że łańcuch JSON został bezbłędnie wczytany.
Wartość 1 oznacza, że wystąpił błąd podczas wczytywania.
ErrorIndexJeżeli wystąpił błąd podczas wczytywania łańcucha JSON, wtedy tutaj będzie indeks znaku, w którym wystąpił błąd.
Właściwość ta nie działa w Web panelach
Notatka:
Obiekty zapisane w JSON będą reprezentowane obiektami PmMap, tablice zapisane w JSON będą reprezentowane obiektami PmArray oraz ostatnie wartości zapisane w JSON będą reprezentowane wartości odpowiedniego typu danych (Variant).
Do tych danych hierarchicznych w postaci obiektów jest w aplikacji PROMOTIC prosty dostęp jak z JavaScript, tak z VBScript.

Metoda ta działa również w Makro wyrażenie $.expr oraz w zdarzeniu onDraw obiektu PmgCanvas.
Metoda ta działa także w Web panelach.
Patrz również:
Przykład1:
Niech zmienna sJson zawiera łańcuch: [10, 20, 30, 40].
W mMap.Value będzie obiekt typu PmArray.
Do zmiennej vVal1 zostanie zapisana wartość pozycji tablicy pod indeksem 1 (wartość 20).
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var mMap = Pm.JsonParse(sJson);
var oJson = mMap.Value;
var vVal1 = oJson.GetItem(1);
Przykład2:
Niech zmienna sJson zawiera łańcuch: {"position": {"x": 100, "y": 100}, "size": {"dx": 200, "dy": 100}}.
W mMap.Value będzie obiekt typu PmMap.
Do zmiennej vValX zostanie zapisana wartość właściwości x (wartość 100).
Do zmiennej vValDx zostanie zapisana wartość właściwości dy (wartość 200).
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var mMap = Pm.JsonParse(sJson);
var oJson = mMap.Value;
var vValX = oJson.position.x;
var vValDx = oJson.size.dx;
Przykład3:
Niech zmienna sJson zawiera łańcuch: [{"x": 100, "y": 111}, {"x": 200, "y": 222}, {"x": 300, "y": 333}].
W mMap.Value będzie obiekt typu PmArray.
Do zmiennej vValX zostanie zapisana wartość właściwości x pozycji pod indeksem 1 (wartość 200).
Do zmiennej vValY zostanie zapisana wartość właściwości y pozycji pod indeksem 1 (wartość 222).
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var mMap = Pm.JsonParse(sJson);
var oJson = mMap.Value;
var vValX = oJson.GetItem(1).x;
var vValY = oJson.GetItem(1).y;

Historia:
Pm9.00.29: Usprawniono właściwości ErrorCode oraz ErrorIndex.
Pm9.00.28: Usunięty błąd: Tekst wejściowy niepoprawnie generował tablicę 2-wymiarową.
Pm9.00.26: Usprawniono również dla tablicy 2-wymiarowej dla obiektu PmArray.
Pm9.00.09: Korekta parsacji JSON. Liczba jest teraz zapisywana zawsze jako R8 (wcześniej jako typ danych Double lub typ danych Integer)
Pm8.03.13: Wytworzono
Nawigacja:
 
- Pm
 
- Abs
- Cos
- E
- Exp
- JsonParse
 
 
- LN2
- PI
- Pow
- Sin
- Tan
© MICROSYS, spol. s r.o.