import.css=/download/attachments/6062824/tecnologia.css

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

#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