Versão atual:

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

Versões (8):

Ver a versão formatada

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

Comentário

new question