PJROCT – Získání číselných hodnot z textu ve formátu JSON

Symbol blokuPotřebná licence: STANDARD
Qt SVG Document Exported by REXYGEN Studio jtxt RUN y1 y2 y3 y4 y5 y6 y7 y8 iE PJROCT

Popis funkce
Blok PJROCT parsuje vstupní JSON řetězec jtxt podle zadaných parametrů name* pokud vstup RUN má hodnotu on. Výstupní signály jsou typu real. V případě chyby je na výstupy y* vložena náhradní hodnota z parametru yerr (např. zadaný objekt neexistuje nebo hodnota není číslo).

Blok na vstupu jtxt očekává text ve formátu JSON. Na výstupech y1 y7 jsou pak po řadě hodnoty objektů identifikovaných parametry name1 name7. Pokud je některý z parametrů name1 name7 prázdný, bude prázdný i příslušný výstup a není to považováno za chybu. Blok vstupní string vyhodnocuje jen pokud je RUN = on. Na výstupu iE je indikována chyba. Mohou nastávat tyto případy:

  • 0 – bez chyby
  • -1 – některý z parametrů name1 name7 odkazuje na objekt, který se ve vstupním textu (na vstupu jtxt) nevyskytuje
  • -103 – textu na vstupu jtxt neodpovídá JSON formátu
  • -106 – všechny z parametrů name1 name7 odkazují na objekt, který se ve vstupním textu (na vstupu jtxt) nevyskytuje

Příklady
Předpokládejme
jtxt = "{"id": 12345, "params":{"temperature": 23, "pressure": 2.34},
"description":"reactor1","values":[12, 34.5, 45.0, 30.2]}"
name1 = "params.temperature",
name2 = "values[0]",
name3 = "pressure",
name4 = "description",
pak na výstupu sy1 bude hodnota "23", na výstupu y2 bude hodnota "12", na výstupu y3 bude hodnota parametru yerr a bude signalizována chyba, na výstupu y4 bude hodnota parametru yerr a bude signalizována chyba.

Tento blok nepropaguje kvalitu signálu. Více informací je uvedeno v sekci 1.4.

Vstup

jtxt

Text v JSON formátu

String

RUN

Povolení běhu algoritmu

Bool

Parametr

name1..name8

Jméno objektu v textu formátu JSON

String

nmax

Rezervovaná paměť pro řetězec   0  65520

Long (I32)

yerr

Náhradní hodnota pro případ chyby

Double (F64)

Výstup

y1..y8

Výstup bloku

Double (F64)

iE

Kód chyby

Error

2024 © REX Controls s.r.o., www.rexygen.com