Saltar para o conteúdo principal
Versão: 20 R7 BETA

JSON Stringify array

JSON Stringify array ( array {; *} ) : Text

ParâmetroTipoDescrição
arrayText array, Real array, Boolean array, Pointer array, Object arrayArray cujo conteúdo deve ser serializado
*OperadorMelhorar o formato
ResultadoTextCadeia que contém o array JSON serializado

Descrição

O comando JSON Stringify array converte o array array 4D em um array JSON serializado. Este comando realiza a ação inversa do comando JSON PARSE ARRAY.

Em array, passe um array 4D com os dados a serializar. Este array pode ser de tipo de texto, real, booleano, ponteiro ou objeto.

Nota: se passar uma variável escalar ou um campo em array, o comando devolverá simplesmente o valor de parâmetro entre "[ ]".

Pode passar o parâmetro opcional * para utilizar os caracteres de formato na cadeia resultante. Esta opção melhora a apresentação dos dados JSON quando se mostram em uma página web (pretty formatting).

Exemplo 1

Conversão de um array texto:

 var $jsonString : Text
 ARRAY TEXT($ArrayFirstname;2)
 $ArrayFirstname{1}:="John"
 $ArrayFirstname{2}:="Jim"
 $jsonString :=JSON Stringify array($ArrayFirstname)
 
  // $jsonString = "["John","Jim"]"

Exemplo 2

Conversão de um array texto que contém números:

 ARRAY TEXT($phoneNumbers;0)
 APPEND TO ARRAY($phoneNumbers ;"555-0100")
 APPEND TO ARRAY($phoneNumbers ;"555-0120")
 $string :=JSON Stringify array($phoneNumbers)
  // $string = "["555-0100","555-0120"]"

Exemplo 3

Conversão de um array objeto:

 var $ref_john : Object
 var $ref_jim : Object
 ARRAY OBJECT($myArray;0)
 OB SET($ref_john;"name";"John";"age";35)
 OB SET($ref_jim;"name";"Jim";"age";40)
 APPEND TO ARRAY($myArray ;$ref_john)
 APPEND TO ARRAY($myArray ;$ref_jim)
 $JsonString :=JSON Stringify array($myArray)
  // $JsonString = "[{"name":"John","age":35},{"name":"Jim","age":40}]"
 
  // Se deseja visualizar o resultado em uma página web,
  // passe o parâmetro opcional *:
 $JsonStringPretty :=JSON Stringify array($myArray;*)

Exemplo 4

Conversão de uma seleção 4D em um array objeto:

 var $jsonObject : Object
 var $jsonString : Text
 
 QUERY([Company];[Company]Company Name="a@")
 OB SET($jsonObject;"company name";->[Company]Company Name)
 OB SET($jsonObject;"city";->[Company]City)
 OB SET($jsonObject;"date";[Company]Date_input)
 OB SET($jsonObject;"time";[Company]Time_input)
 ARRAY OBJECT($arraySel;0)
 
 While(Not(End selection([Company])))
    $ref_value:=OB Copy($jsonObject;True)
  // Se não são copiados, os valores serão cadeias vazias
    APPEND TO ARRAY($arraySel;$ref_value)
  // Cada elemento contém os valores selecionados, por exemplo:
  // $arraySel{1} = // {"company name":"APPLE","time":43200000,"city":
  // "Paris","date":"2012-08-02T00:00:00Z"}
    NEXT RECORD([Company])
 End while
 
 $jsonString:=JSON Stringify array($arraySel)
  // $jsonString = "[{"company name":"APPLE","time":43200000,"city":
  //"Paris","date":"2012-08-02T00:00:00Z"},{"company name":
  //"ALMANZA",...}]"

Ver também

JSON PARSE ARRAY
JSON Stringify