VPRJSONE ;SLC/KCM -- Encode JSON
Source file <VPRJSONE.m>
| action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| ENCODE(VVROOT,VVJSON,VVERR) | ; VVROOT (M structure) --> VVJSON (array of strings)
|
|
| DIRECT | ; TAG for use by ENCODE^VPRJSON
|
|
| SEROBJ(VVROOT) | ; Serialize into a JSON object
|
|
| SERARY(VVROOT) | ; Serialize into a JSON array
|
|
| SERNAME(VVSUB) | ; Serialize the object name into JSON string
|
|
| SERVAL(VVROOT,VVSUB) | ; Serialize X into appropriate JSON representation
|
|
| CONCAT | ; come here to concatenate to JSON string
|
|
| ISVALUE(VVROOT,VVSUB) | ; Return true if this is a value node
|
|
| NUMERIC(X) | ; Return true if the numeric
|
|
| ESC(X) | ; Escape string for JSON
|
|
| UCODE(C) | ; Return \u00nn representation of decimal character value
|
|
| ERRX(ID,VAL) | ; Set the appropriate error message
|
| Name | Line Occurrences |
|---|---|
| $$ESC | SERVAL+13, SERVAL+17 |
| $$ISVALUE | SEROBJ+9, SERARY+6 |
| $$NUMERIC | SERVAL+9 |
| $$UCODE | ESC+8, ESC+9 |
| CONCAT | SERVAL+4, SERVAL+5, SERVAL+9, SERVAL+10, SERVAL+14, SERVAL+18, SERVAL+19 |
| ERRX | SEROBJ+14, SERARY+10 |
| SERARY | SEROBJ+12, SERARY+8 |
| SERNAME | SEROBJ+7 |
| SEROBJ | DIRECT+15, SEROBJ+13, SERARY+9 |
| SERVAL | SEROBJ+9, SERARY+6 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| C | UCODE~, UCODE+1 |
| FROM | ESC+1~, ESC+4*, ESC+5, ESC+6*, ESC+8, ESC+9 |
| H | UCODE+1~*, UCODE+2 |
| I | ESC+1~, ESC+5*, ESC+6*, ESC+10 |
| ID | ERRX~, ERRX+1 |
| PAIR | ESC+1~, ESC+3*, ESC+4 |
| TO | ESC+1~, ESC+4*, ESC+5 |
| VAL | ERRX~, ERRX+1 |
| VVERR | ENCODE~, DIRECT+9* |
| VVERRORS | DIRECT+12~, DIRECT+13* |
| VVFIRST | SEROBJ+1~, SEROBJ+3*, SEROBJ+5*, SERARY+1~, SERARY+3*, SERARY+5* |
| VVI | SERARY+1~, SERARY+4*, SERARY+6, SERARY+7, SERARY+8, SERARY+9, SERARY+10, SERVAL+1~, SERVAL+5*, SERVAL+16* , SERVAL+17 |
| VVJSON | ENCODE~, DIRECT+11, DIRECT+14, SEROBJ+2, SEROBJ+5, SEROBJ+15, SERARY+2, SERARY+5, SERARY+11, SERNAME+1 , SERNAME+2, CONCAT+1, CONCAT+2 |
| VVLINE | DIRECT+12~, DIRECT+13*, DIRECT+14, SEROBJ+2, SEROBJ+5, SEROBJ+15, SERARY+2, SERARY+5, SERARY+11, SERNAME+1* , SERNAME+2, CONCAT+1*, CONCAT+2 |
| VVMAX | DIRECT+12~, DIRECT+13*, SERNAME+1, CONCAT+1 |
| VVNXT | SEROBJ+1~, SEROBJ+11*, SEROBJ+12, SERARY+1~, SERARY+7*, SERARY+8 |
| VVROOT | ENCODE~, DIRECT+10, DIRECT+15, SEROBJ~, SEROBJ+4, SEROBJ+9, SEROBJ+11, SEROBJ+12, SEROBJ+13, SERARY~ , SERARY+4, SERARY+6, SERARY+7, SERARY+8, SERARY+9, SERVAL~, SERVAL+3, SERVAL+4, SERVAL+5, SERVAL+7 , SERVAL+9, SERVAL+15, SERVAL+16, SERVAL+17, ISVALUE~, ISVALUE+1, ISVALUE+2 |
| VVSUB | SEROBJ+1~, SEROBJ+4*, SEROBJ+7, SEROBJ+9, SEROBJ+11, SEROBJ+12, SEROBJ+13, SEROBJ+14, SERNAME~, SERNAME+1 , SERNAME+2, SERVAL~, SERVAL+3, SERVAL+4, SERVAL+5, SERVAL+7, SERVAL+9, SERVAL+15, SERVAL+16, SERVAL+17 , ISVALUE~, ISVALUE+1, ISVALUE+2 |
| VVX | SERVAL+1~, SERVAL+4*, SERVAL+5*, SERVAL+7*, SERVAL+9, SERVAL+10, SERVAL+13*, SERVAL+17*, SERVAL+19*, CONCAT+1 , CONCAT+2, ISVALUE+2~*, ISVALUE+3, ISVALUE+4 |
| X | NUMERIC~, NUMERIC+1, NUMERIC+2, NUMERIC+3, NUMERIC+4, NUMERIC+5, NUMERIC+6, NUMERIC+7, NUMERIC+8, NUMERIC+9* , NUMERIC+10, NUMERIC+11, ESC~, ESC+2, ESC+5*, ESC+6*, ESC+10 |
| Y | ESC+1~, ESC+2*, ESC+5*, ESC+6*, ESC+8*, ESC+9*, ESC+10*, ESC+11 |