pegar valor de retorno (string) no formato json
Bom dia,
Eu tenho um retorno do JSON que está em uma variavel String e quero pegar o value dele....
Esse é o meu JSON
quero só pegar a informação do value;
Eu tenho um retorno do JSON que está em uma variavel String e quero pegar o value dele....
Esse é o meu JSON
{"error":{"code":400,"message":{"lang":"en-us","value":"Bad request: Error in parameter n_serie:Attribute \\"n_serie\\" not found in pedido_venda.inclui"}}}
quero só pegar a informação do value;
Robson Morais
Curtidas 1
Melhor post
Natanael Ferreira
31/05/2017
Teste seu código assim:
var jsonObj, jSubObj: TJSONObject; jv: TJSONValue; begin jsonObj := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(Memo1.Text), 0) as TJSONObject; Memo1.Lines.Clear; jv := jsonobj.Get('error').JsonValue; jsubObj := jv as TJSONObject; jv := jsubObj.Get('message').JsonValue; jsubObj := jv as TJSONObject; jv := jsubObj.Get('value').JsonValue; ShowMessage(jv.Value); end;
GOSTEI 2
Mais Respostas
Robson Morais
31/05/2017
tentei fazer dessa maneira;
mas no ja := (jp.JsonValue as TJSONArray); eu tenho esse erro
procedure TfrmPSyncBack.Button1Click(Sender: TObject); var jsonObj, jSubObj: TJSONObject; ja: TJSONArray; jp, jSubPar: TJSONPair; i, j: integer; begin jsonObj := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(Memo1.Text), 0) as TJSONObject; //dada a seguinte string em notação JSON que será convertida pela função ParseJSONValue //em um objeto nativo do delphi do tipo TJSONObject Memo1.Lines.Clear; jp := TJSONPair.Create; jp := jsonObj.Get(0); //pega o par zero ja := TJSONArray.Create; ja := (jp.JsonValue as TJSONArray); // do par zero pega o valor, que é array //quantidade de pares do objeto Memo1.Lines.Add('quantidade de elementos ' + IntToStr(ja.Size)); jSubObj:= TJSONObject.Create; jSubPar := TJSONPair.Create; for i := 0 to ja.Size - 1 do //itera o array para pegar cada elemento begin jSubObj := (ja.Get(i) as TJSONObject); //pega cada elemento do array, onde cada //elemento é um objeto, neste caso, em função da string JSON montada acima Memo1.Lines.Add(''); Memo1.Lines.Add('No elemento ' + IntToStr(i) + ' a quantidade de pares do objeto é = ' + IntToStr(jSubObj.Size) ); //quantidade de pares do objeto for j := 0 to jSubObj.Size - 1 do //itera o objeto para pegar cada par begin jSubPar := jSubObj.Get(j); //pega o par no índice j //do par pega separado a chave e o valor usando Value Memo1.Lines.Add(jSubPar.JsonString.Value + ' : ' + jSubPar.JsonValue.Value); end; end; end;
mas no ja := (jp.JsonValue as TJSONArray); eu tenho esse erro
First chance exception at $73F4A9F2. Exception class EInvalidCast with message 'Invalid class typecast'.
GOSTEI 0
Robson Morais
31/05/2017
show de bola, vlw....
GOSTEI 0
Flavio Almeida
31/05/2017
Boa noite, pessoal!
Tenho um Json que no retorno de um campo Data ele traz um inteiro, por exemplo: O campo na tabela é 10/08/2003 ele retorna 37843. Tem como eu fazer ele retornar no formato de Data mesmo?
Desde já, agradeço a ajuda de todos.
Tenho um Json que no retorno de um campo Data ele traz um inteiro, por exemplo: O campo na tabela é 10/08/2003 ele retorna 37843. Tem como eu fazer ele retornar no formato de Data mesmo?
Desde já, agradeço a ajuda de todos.
GOSTEI 0