Skip to main content
Version: 21 R4 BETA

JSON PARSE ARRAY

JSON PARSE ARRAY ( jsonString : Text ; array : Array )

ParameterTypeDescription
jsonStringText→JSON string to parse
arrayArray←Array containing result from parsing of JSON string
History
ReleaseChanges
16 R4Modified
14Created

Description​

The JSON PARSE ARRAY command parses the contents of a JSON-formatted string and puts the data extracted into the array parameter. This command deserializes the JSON data; it performs the opposite action of the JSON Stringify array command.

In jsonString, pass the JSON-formatted string whose contents you want to parse. This string must be formatted correctly, otherwise a parsing error is generated.

In array, pass an array of the desired type to receive the parsing results.

Note: Starting with 4D 16 R4, JSON PARSE ARRAY can usually be replaced by a call to JSON Parse that returns a collection. Collections are based on JSON arrays and allow to store data of mixed types, which provides more flexibility than arrays.

Example​

In this example, data from fields of the records in a table are extracted and then placed in object arrays:

 var $ref : Object
 ARRAY OBJECT($sel;0)
 ARRAY OBJECT($sel2;0)
 var v_String : Text

 OB SET($ref;"name";->[Company]Company Name)
 OB SET($ref;"city";->[Company]City)

 While(Not(End selection([Company])))
    $ref_company:=OB Copy($ref;True)
    APPEND TO ARRAY($sel;$ref_company)
  // $sel{1}={"name":"4D SAS","city":"Clichy"}
  // $sel{2}={"name":"MyComp","city":"Lyon"}
  // ...
    NEXT RECORD([Company])
 End while

 v_String:=JSON Stringify array($sel)
  // v_String= [{"name":"4D SAS","city":"Clichy"},{"name":"MyComp","city":"Lyon"}...]
 JSON PARSE ARRAY(v_String;$sel2)
  // $sel2{1}={"name":"4D SAS","city":"Clichy"}
  // $sel2{2}={"name":"MyComp","city":"Lyon"}
  //...

See also​

JSON Parse
JSON Stringify array

Properties​

Command number1219
Thread safeyes