Usina BRAdvPL Guia
Entrar
← Todos os tópicos
GUIA PRÁTICOEm revisão

Serialização e desserialização JSON

Converte texto JSON em objeto e devolve uma representação textual.

Serialização e desserialização JSONAdvPL
01 · VISÃO GERAL

Visão geral

FromJson popula um JsonObject e retorna Nil no sucesso ou texto de erro na falha; não retorna o objeto populado. Só leia propriedades depois de confirmar esse resultado. ToJson gera a representação textual, cuja ordem de propriedades pode diferir da entrada. Validar a sintaxe não valida o contrato de negócio: confira campos, tipos, tamanhos e autorização antes de usar os dados. Datas devem seguir um formato explícito do contrato, sem depender do formato visual do Protheus. O exemplo usa somente dados fictícios e não imprime o conteúdo de entradas externas. (Fontes: refs. 1–3.)

03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function Ed647()
    Local oDados := JsonObject():New()
    Local xErro := oDados:FromJson('{"id":"ED647","active":true}')
    Local cJson := ""
    // Nil indica sucesso; um texto indica falha de parse.
    If ValType(xErro) == "U"
        cJson := oDados:ToJson()
        ConOut(cJson)
    Else
        ConOut("JSON_INVALIDO")
    EndIf
    FreeObj(oDados)
Return Nil
Resultado esperado

No contrato documentado, serializa id e active; a ordem das propriedades não é garantida. Não há acesso ao banco. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Teste JSON inválido, campo ausente, null e tipo incorreto. Não montar JSON por concatenação de entrada nem registrar segredos no erro.
  • Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. JsonObject:FromJSON. Nil no sucesso. Consulta em 2026-10-28.
  2. TOTVS. JsonObject:ToJSON. Consulta em 2026-10-28.
  3. Atilio. dan-atilio/AdvPL. Maratona de Exemplos/Exemplo_316_Classe_JSONObject.prw. Arquivo completo consultado; adaptação editorial. Consulta em 2026-10-28.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha