Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
benilton Novato
Registrado: Domingo, 22 de Junho de 2008 Mensagens: 13
|
Enviada: Qui Out 31, 2019 8:48 am Assunto: Pegar dados de uma json |
|
|
senhores eu tenho um memo que recebe: (Memo2.Lines.Text := Response ) trazendo os dados abaixo:
{"code":200,"data":{"barcode":"00000.00000 00000.000000 00000.000000 0 00000000000000","link":"https://visualizacaosandox.teste.com.br/.../A4XB...","pdf":{"charge":"https://download.teste.com.br/.../215831-542951..."},"expire_at":"2019-11-30","charge_id":794519,"status":"waiting","total":701,"payment":"banking_billet"}}
eu gostaria de pegar os valores code, barcode, link, charge, charde_id....
como eu faço isso no delphi? |
|
Voltar ao Topo |
|
|
joemil Moderador
Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9098 Localização: Sinop-MT
|
Enviada: Qui Out 31, 2019 9:37 am Assunto: |
|
|
eu uso a unit superObjects. da uma pesquisada sobre ela
tem varios exemplos na net _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
|
natanbh1 Colaborador
Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Qui Out 31, 2019 12:39 pm Assunto: |
|
|
Declare DBXJson na uses do form e teste o código abaixo:
Código: | var
jsonObj, jsonObjData, jsonObjPDF: TJSONObject;
jv: TJSONValue;
i: Integer;
begin
jsonObj := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(Trim(Memo2.Text)), 0)
as TJSONObject;
jv := jsonObj.Get('data').JsonValue;
jsonObjData := jv as TJSONObject;
jv := jsonObjData.Get('pdf').JsonValue;
jsonObjPDF := jv as TJSONObject;
ShowMessage
(
'code: ' + jsonObj.Get('code').JsonValue.Value + sLineBreak +
'barcode: ' + jsonObjData.Get('barcode').JsonValue.Value + sLineBreak +
'link: ' + jsonObjData.Get('link').JsonValue.Value + sLineBreak +
'charge: ' + jsonObjPDF.Get('charge').JsonValue.Value + sLineBreak +
'expire_at: ' + jsonObjData.Get('expire_at').JsonValue.Value + sLineBreak +
'charge_id: ' + jsonObjData.Get('charge_id').JsonValue.Value + sLineBreak +
'status: ' + jsonObjData.Get('status').JsonValue.Value + sLineBreak +
'total: ' + jsonObjData.Get('total').JsonValue.Value + sLineBreak +
'payment: ' + jsonObjData.Get('payment').JsonValue.Value
);
end; |
_________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
|
benilton Novato
Registrado: Domingo, 22 de Junho de 2008 Mensagens: 13
|
Enviada: Qui Out 31, 2019 8:07 pm Assunto: |
|
|
natanbh1 escreveu: | Declare DBXJson na uses do form e teste o código abaixo:
Código: | var
jsonObj, jsonObjData, jsonObjPDF: TJSONObject;
jv: TJSONValue;
i: Integer;
begin
jsonObj := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(Trim(Memo2.Text)), 0)
as TJSONObject;
jv := jsonObj.Get('data').JsonValue;
jsonObjData := jv as TJSONObject;
jv := jsonObjData.Get('pdf').JsonValue;
jsonObjPDF := jv as TJSONObject;
ShowMessage
(
'code: ' + jsonObj.Get('code').JsonValue.Value + sLineBreak +
'barcode: ' + jsonObjData.Get('barcode').JsonValue.Value + sLineBreak +
'link: ' + jsonObjData.Get('link').JsonValue.Value + sLineBreak +
'charge: ' + jsonObjPDF.Get('charge').JsonValue.Value + sLineBreak +
'expire_at: ' + jsonObjData.Get('expire_at').JsonValue.Value + sLineBreak +
'charge_id: ' + jsonObjData.Get('charge_id').JsonValue.Value + sLineBreak +
'status: ' + jsonObjData.Get('status').JsonValue.Value + sLineBreak +
'total: ' + jsonObjData.Get('total').JsonValue.Value + sLineBreak +
'payment: ' + jsonObjData.Get('payment').JsonValue.Value
);
funcionou mais gostaria de tirar outra duvida enquanto eu estudo
O memo2 que recebe o json de
Memo2.Lines.Text := Response;
se eu quisesse pegar os valores direto do response sem carregar no memo2 como ficaria?
end; |
|
|
|
Voltar ao Topo |
|
|
natanbh1 Colaborador
Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Sex Nov 01, 2019 10:49 am Assunto: |
|
|
Faça um teste, substituindo o Memo2.Text por Response no código:
Código: | var
jsonObj, jsonObjData, jsonObjPDF: TJSONObject;
jv: TJSONValue;
i: Integer;
begin
jsonObj := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(Trim(Response)), 0) as TJSONObject;
jv := jsonObj.Get('data').JsonValue;
jsonObjData := jv as TJSONObject;
jv := jsonObjData.Get('pdf').JsonValue;
jsonObjPDF := jv as TJSONObject;
ShowMessage
(
'code: ' + jsonObj.Get('code').JsonValue.Value + sLineBreak +
'barcode: ' + jsonObjData.Get('barcode').JsonValue.Value + sLineBreak +
'link: ' + jsonObjData.Get('link').JsonValue.Value + sLineBreak +
'charge: ' + jsonObjPDF.Get('charge').JsonValue.Value + sLineBreak +
'expire_at: ' + jsonObjData.Get('expire_at').JsonValue.Value + sLineBreak +
'charge_id: ' + jsonObjData.Get('charge_id').JsonValue.Value + sLineBreak +
'status: ' + jsonObjData.Get('status').JsonValue.Value + sLineBreak +
'total: ' + jsonObjData.Get('total').JsonValue.Value + sLineBreak +
'payment: ' + jsonObjData.Get('payment').JsonValue.Value
);
end; |
_________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
|
|