Serialização de objetos (classes) em string Json

Boa tarde prezados,

Estou fazendo uns testes com orientação a objetos no ADVPL tenho uma classe básica, estruturada conforme abaixo:

Class Cliente

Data cCodigo as character Data cNome as character Data cEmail as character Data cNascimento as character Data cEndereco as character Data cBairro as character Data cMunicipio as character Data cUf as character Data cPessoa as character

Method New() constructor

EndClass

Method New(Codigo, Nome, Email, Nascimento, Endereco, Bairro, Municipio, Uf, Pessoa) class Cliente

::cCodigo := Alltrim(Codigo) ::cNome := Alltrim(Nome) ::cEmail := Alltrim(Email) ::cNascimento := dtoc(stod(Nascimento)) ::cEndereco := Alltrim(Endereco) ::cBairro := Alltrim(Bairro) ::cMunicipio := Alltrim(Municipio) ::cUf := Alltrim(Uf) ::cPessoa := Iif(Pessoa == "F", "Física", "Juridica")

Return Self

No teste, fiz uma varredura na base por alguns clientes, e populei um Array de objetos do tipo Cliente. Gostaria de saber se há algum método nativo do advpl que me possibilite serializar esse objeto em uma string Json, sem precisar iterar o objeto e manipular a string "manualmente"? Estou tentando pela JsonObject, através do método toJson(), porém me retorna uma string Json de nullos, conforme abaixo (não tenho certeza se JsonObject comporta esse tipo de estrutura):

"{"Clientes":[null,null,null,null,null,null,null,null,null,null]}"

Como não é muito comum se usar orientação objetos em ADVPL, pelo menos dessa forma eu não vejo com frequência, tentei por intuição, fazer funcionar assim. Se alguém tiver uma outro caminho ou dica (com orientação a objetos), agradeço.

Mais detalhes no print em anexo.

Grato,

Gustavo Oliveira

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags json advpl poo ou faça a sua própria pergunta.