 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
zamedi Novato

Registrado: Segunda-Feira, 16 de Julho de 2007 Mensagens: 14
|
Enviada: Sáb Set 02, 2023 6:32 pm Assunto: Ler retorno JSON |
|
|
Boa noite pessoal
Estou com dificuldade em ler um retorno JSON, já pesquisei bastante e não consegui fazer a leitura do mesmo
Segue um parcial do response:
{"vuScoreResponse":{"startTime":"2023-08-29","stopTime":"2023-08-29","vehicles":[{"vin":"9BVRG20C1NE926785","scores":{"total":53.515,"anticipation":28.0,"braking":100.0,"coasting":10.0,"engineAndGearUtilization":79.05,"withinEconomy":26.0,"aboveEconomy":100.0,"engineLoad":100.0,"gearboxInAutoMode":73.0,"gearboxInManualMode":70.0,"gearboxInPowerMode":100.0,"overrev":100.0,"topgear":0.0,"speedAdaption":60.0,"cruiseControl":0.0,"overspeed":100.0,"standstill":8.0,"idling":8.0},"totalTime":1198,"avgSpeedDrivingKmh":7.24,"avgFuelConsumptionPer100Km":172.31,"avgFuelConsumptionKgPer100Km":0.0,"vehicleUtilization":1.39,"totalDistanceInKm":1.3,"co2EmissionInTons":0.01},{"vin":"9BVRG20C2NE926789","scores":{"total":70.49,"anticipation":88.8,"braking":100.0,"coasting":86.0,"engineAndGearUtilization":69.5,"withinEconomy":100.0,"aboveEconomy":100.0,"engineLoad":95.0,"gearboxInAutoMode":0.0,"gearboxInManualMode":0.0,"gearboxInPowerMode":100.0,"overrev":100.0,"topgear":100.0,"speedAdaption":60.0,"cruiseControl":0.0,"overspeed":100.0,"standstill":40.0,"idling":40.0},"totalTime":3042,"avgSpeedDrivingKmh":38.53,"avgFuelConsumptionPer100Km":67.24,"avgFuelConsumptionKgPer100Km":0.0,"vehicleUtilization":3.52,"totalDistanceInKm":26.53,"co2EmissionInTons":0.04},
}],"moreDataAvailable":false,"requestServerDateTime":"2023-08-29T15:55:14Z"}}
Alguém poderia me ajudar por favor?
Desde já agradeço |
|
Voltar ao Topo |
|
 |
marcieldeg Colaborador


Registrado: Terça-Feira, 5 de Abril de 2011 Mensagens: 1054 Localização: Vitória - ES
|
Enviada: Dom Set 03, 2023 9:40 am Assunto: |
|
|
Qual versão do Delphi você utiliza? _________________ "Olha a interface da IDE! Será que ela é? Será que ela é? DELPHI!" |
|
Voltar ao Topo |
|
 |
zamedi Novato

Registrado: Segunda-Feira, 16 de Julho de 2007 Mensagens: 14
|
Enviada: Dom Set 03, 2023 5:56 pm Assunto: |
|
|
Estou utilizando o 10.4 |
|
Voltar ao Topo |
|
 |
carlessoflu Novato

Registrado: Quinta-Feira, 21 de Fevereiro de 2013 Mensagens: 3
|
Enviada: Seg Set 04, 2023 1:49 pm Assunto: |
|
|
Segue um código de exemplo:
Código: |
DMTabelas.RESTClient1.BaseURL := BaseURL + 'products?access_token='+ Access_Token+'';
DMTabelas.RESTRequestCadProduto.Execute;
if assigned(DMTabelas.RESTResponse1.JSONValue) then
begin
DMTabelas.RESTResponse1.RootElement := 'Products';
JsonToDataset(DMTabelas.FDMemTableProdutosSite,DMTabelas.RESTResponse1.JSONText);
DMTabelas.FDMemTableProdutosSite.Open;
DMTabelas.FDMemTableProdutosSite.Fieldbyname('nome').AsString;
|
Passa a resposta para um MenTable, e depois vc consegue usa-lo como se fosse uma tabela.
Segue o código da procedure JsonToDataset:
Código: |
procedure JsonToDataset(aDataset: TDataSet; aJSON: string);
procedure TFPrincipal.JsonToDataset(aDataset: TDataSet; aJSON: string);
var
JObj: TJSONValue;
vConv: TCustomJSONDataSetAdapter;
begin
if (aJSON = EmptyStr) then
begin
exit;
end;
JObj := TJSONObject.ParseJSONValue(aJSON);
aDataset.Close;
vConv := TCustomJSONDataSetAdapter.Create(Nil);
try
vConv.DataSet := aDataset;
vConv.UpdateDataSet(JObj);
finally
vConv.Free;
JObj.Free;
end;
end;
|
|
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|