JSON - Delphi

20/10/2020

0

Bom dia.
Estaria precisando de um apoio, estou tentando ler um JSON, porem não estou conseguindo avançar.
Se alguém puder dar um dica...

JSON:
{
"listaoferta":[
{
"oferta_id":"1",
"produto_codigo_ean":"7891035210006",
"valor_oferta":"1.00"
},
{
"oferta_id":"2",
"produto_codigo_ean":"7891035210006",
"valor_oferta":"2.00"
},
{
"oferta_id":"3",
"produto_codigo_ean":"7891035210006",
"valor_oferta":"3.00"
}
]
}


Rotina de Leitura:

procedure TForm1.Button2Click(Sender: TObject);
var
jsonObject, JsonObject2: TJsonObject;
i: integer;
begin
jsonObject := TJsonObject.ParseJSONValue(MemoJSON.Text) as TJsonObject;
JsonObject2 := jsonObject.Get('listaofertas').JsonValue as TJsonObject;

ListBox1.Items.Add('OFERTA_ID:' + jsonObject.GetValue('oferta_id').Value);
ListBox1.Items.Add('CODEBAR:' + jsonObject.GetValue('produto_codigo_ean').Value);

for i := 0 to JsonObject2.Size - 1 do
ListBox1.Items.Add(JsonObject2.Get(i).JsonString.Value + ': ' + JsonObject2.Get(i).JsonValue.Value);
end;
Cristiano Fochesatto

Cristiano Fochesatto

Responder

Posts

20/10/2020

Cristiano Fochesatto

Bom dia.
Estaria precisando de um apoio, estou tentando ler um JSON, porem não estou conseguindo avançar.
Se alguém puder dar um dica...

JSON:
{
"listaoferta":[
{
"oferta_id":"1",
"produto_codigo_ean":"7891035210006",
"valor_oferta":"1.00"
},
{
"oferta_id":"2",
"produto_codigo_ean":"7891035210006",
"valor_oferta":"2.00"
},
{
"oferta_id":"3",
"produto_codigo_ean":"7891035210006",
"valor_oferta":"3.00"
}
]
}


Rotina de Leitura:

procedure TForm1.Button2Click(Sender: TObject);
var
jsonObject, JsonObject2: TJsonObject;
i: integer;
begin
jsonObject := TJsonObject.ParseJSONValue(MemoJSON.Text) as TJsonObject;
JsonObject2 := jsonObject.Get('listaoferta').JsonValue as TJsonObject;

ListBox1.Items.Add('OFERTA_ID:' + jsonObject.GetValue('oferta_id').Value);
ListBox1.Items.Add('CODEBAR:' + jsonObject.GetValue('produto_codigo_ean').Value);

for i := 0 to JsonObject2.Size - 1 do
ListBox1.Items.Add(JsonObject2.Get(i).JsonString.Value + ': ' + JsonObject2.Get(i).JsonValue.Value);
end;
Responder

22/03/2024

Eliomar Souza

O campo listaoferta do objeto está retornando um array precisas usar a variável json do tipo array.

var
JsonListaofertaArray: TJSONArray;
JSONObject, JsonListaOfertaObject: TJSONObject;
begin
JSONObject := TJSONObject.ParseJSONValue(JSONString) as TJSONObject;
try
JsonListaofertaArray := JSONObject.GetValue('listaoferta') as TJSONArray;
JsonListaOfertaObject:= JsonListaofertaArray.Items[0] as TJSONObject;

JsonListaOfertaObject.GetValue('oferta_id').Value;
JsonListaOfertaObject.GetValue('produto_codigo_ean').Value;

finally
JSONObject.Free;
end;
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar