Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Alimentar Classe com TArray Delphi XE


arceadriano

Pergunta

Bom dia

Estou consumindo um servido de webservice que utiliza JSON.

Criei as seguintes classes.

  { Classes Contador }
  TContador = class
  private
    FNome: String;
    FCNPJ: String;
  published
    property nome: String read FNome write FNome;
    property CNPJ: String read FCNPJ write FCNPJ;
  end;

  TRetContadores = class(TRetornoWS)
  private
    FOK: Boolean;
    FMsg: String;
    FContadores: TArray<TContador>;
  published
    property OK: Boolean read FOK write FOK;
    property msg: String read FMsg write FMsg;
    property Contadores: TArray<TContador> read FContadores write FContadores;
  end;

Para receber o conteudo JSON do webservice uso da seguinte forma, e o array é alimentado corretamente:

oRetornoWS := TJson.JsonToObject<TRetContadores>(cRetorno);

for i:= low(oRetornoWS.Contadores) to high(oRetornoWS.Contadores) do
  mtbContadores.InsertRecord([oRetornoWS.Contadores[i].CNPJ, oRetornoWS.Contadores[i].nome]);

Meu problema é o seguinte, como faço para adicionar os itens ao array da classe, para que depois eu utilize o método TJson.ObjectToJson() e criar o JSON.

 

 

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
  • 0

Jhonas... obrigado pela atenção

Criar o arquivo JSON ok, isso eu faço com o metodo  TJson.ObjectToJson() 

A questão é que não estou conseguindo alimentar a classe que criei.

  TRetContadores = class(TRetornoWS)
  private
    FOK: Boolean;
    FMsg: String;
    FContadores: TArray<TContador>;
  published
    property OK: Boolean read FOK write FOK;
    property msg: String read FMsg write FMsg;
    property Contadores: TArray<TContador> read FContadores write FContadores;
  end;

A Classe acima possui um array (FContadores), como faço para incluir registros nela?

Após usar o  TJson.ObjectToJson()  o JSON resultante ficaria dessa forma, mas para tal preciso carregar o array:

{
	"OK": true,
	"msg": "Registros encontrados",
	"contadores": [{
		"firstName": "John",
		"lastName": "Doe"
	}, {
		"firstName": "Anna",
		"lastName": "Smith"
	}, {
		"firstName": "Peter",
		"lastName": "Jones"
	}]
}

 

Link para o comentário
Compartilhar em outros sites

  • 0

o primeiro link que te passei é exatamente isso ... só que o resultado é colocado dentro de um memo

a logica que voce vai seguir é a mesma ... voce só vai precisar fazer as alterações necessarias para o seu uso

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...