Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Criar um único arquivo JSON a partir de várias classes

Boa tarde!

Queria entender o seguinte, como nomeio um array de objetos em formato JSON no PHP para produzir um resultado como o abaixo usando resultado de métodos da classe Pessoa e da classe Endereço, por ex?

Resultado que gostaria de obter, seria algo como:

[{"Pessoa", {"nome": "Carlos", "idade":30}, {"nome":"Joana", "idade":35}, "Endereço": {"cidade": "Guarulhos", "uf": "SP"}, {"cidade": "Osasco", "uf": "SP"}]

Obrigado!

1 resposta
solução!

OI Vladmir, tudo bom?

O procedimento que você está procurando se chama serialização. No seu caso, você quer serializar(transformar) um objeto em Json.

No PHP a gente tem uma interface bem legal que te permite retornar um array associativo com os dados da classe chamada JsonSerializable.

Basta implementar essa interface na sua classe e chamar algo como:

$instancia = new SuaClasse();
json_encode($instancia);

Qualquer objeto que implemente a interface JsonSerializable pode ser serializado pelo método json_encode =)

O resultado do método json_encode é bem parecido com o que você está propondo.

Qualquer problema é só falar.

Abraço