Árvore de páginas

Remove a propriedade e seu valor de um JsonObject a partir do nome fornecido.

Sintaxe

JsonObject:DelName(cNome)

Parâmetros

NomeTipoDescriçãoObrigatórioReferência
cNomecaractereNome da propriedade que será removidaX


Retorno

Nome

Tipo

Descrição

lRet

lógico

.T. caso propriedade seja removido com sucesso ou .F. caso haja uma falha na remoção.


Exemplo

Exemplo 1
#include "protheus.ch"

user function DNExemplo()
  local oJson
  local ret

  oJson := JsonObject():new()
  
  ret := oJson:fromJson('{"character":"Joaquim", "json":{"Joao":22, "Joana":33}, "array":[4,12,5], "numeric":23, "logic":false, "nil":null}')

  if ValType(ret) == "U"
    Conout("JsonObject populado com sucesso")
  else
    Conout("Falha ao popular JsonObject. Erro: " + ret)
  endif
  
  u_PrintJson(oJson)

  /*
  Será impresso:
  Label - character
  character = Joaquim
  Label - numeric
  numeric = 23
  Label - logic
  Label - array
  Vetor[
  Indice 1
  4
  Indice 2
  12
  Indice 3
  5
  ]Vetor
  Label - nil
  Label - json
  */

  oJson:DelName("json")

  u_PrintJson(oJson)

  /*
  Label - character
  character = Joaquim
  Label - numeric
  numeric = 23
  Label - logic
  Label - array
  Vetor[
  Indice 1
  4
  Indice 2
  12
  Indice 3
  5
  ]Vetor
  Label - nil
  */
return

user function PrintJson(jsonObj)
  local i, j
  local names
  local lenJson
  local item

  lenJson := len(jsonObj)

  if lenJson > 0
    for i := 1 to lenJson
      u_PrintJson(jsonObj[i])
    next
  else
    names := jsonObj:GetNames()
    for i := 1 to len(names)
      conout("Label - " + names[i])
      item := jsonObj[names[i]]
      if ValType(item) == "C" .or.  ValType(item) == "N"
        conout( names[i] + " = " + cvaltochar(jsonObj[names[i]]))
      else 
        if ValType(item) == "A"
          conout("Vetor[")
          for j := 1 to len(item)
            conout("Indice " + cValtochar(j))
            if ValType(item[j]) == "J"
              u_PrintJson(item[j])
            else
              conout(cvaltochar(item[j]))
            endif
          next j
          conout("]Vetor")
        endif
      endif
    next i
  endif
return


Observações:

O nome da propriedade do objeto JSON fornecido para remoção é sensível à caixa e deverá ser idêntico ao existente no objeto JSON;

Disponível em build igual ou superior a 17.3.0.19

  • Sem rótulos