| unit Unit2; interface usesSystem.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
 FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
 System.Net.URLClient, System.Net.HttpClient, System.Net.HttpClientComponent,
 FMX.Controls.Presentation, FMX.StdCtrls, FMX.ListView.Types,
 FMX.ListView.Appearances, FMX.ListView.Adapters.Base, FMX.ListView,json,
 FMX.ScrollBox, FMX.Memo, IdBaseComponent, IdComponent, IdTCPConnection,
 IdTCPClient, IdHTTP;
 typeTForm2 = class(TForm)
 Button1: TButton;
 Memo1: TMemo;
 IdHTTP1: TIdHTTP;
 procedure Button1Click(Sender: TObject);
 private
 { Private declarations }
 public
 { Public declarations }
 end;
 varForm2: TForm2;
 implementation {$R *.fmx} procedure TForm2.Button1Click(Sender: TObject);function getJSONValue(jsonstr: string; jsonvalue:string): string;
 var
 jo: tjsonobject;
 jv: tjsonvalue;
 begin
 jo := nil;
 try
 jo := tjsonobject.Create;
 jo := tjsonobject.ParseJSONValue(tencoding.UTF8.GetBytes(jsonstr), 0)
 as tjsonobject;
 jv := jo.Get(jsonvalue).jsonvalue;
 Result := jv.Value;
 finally
 jo.Free;
 end;
 end;
 varIdHTTP: TIdHTTP;
 RequestURL: string;
 ResponseStream: TStringStream;
 JO, JData: TJSONObject;
 kkk,s:string;
 LJsonArr : TJSONArray;
 LJsonValue : TJSONValue;
 LItem : TJSONValue;
 begin
 IdHTTP := TIdHTTP.Create(nil);
 IdHTTP.ReadTimeout := 0;
 IdHTTP.AllowCookies := True;
 IdHTTP.ProxyParams.BasicAuthentication := False;
 IdHTTP.ProxyParams.ProxyPort := 0;
 IdHTTP.Request.ContentLength := -1;
 IdHTTP.Request.ContentRangeEnd := 0;
 IdHTTP.Request.ContentRangeStart := 0;
 idhttp.Request.ContentType := 'application/x-www-form-urlencoded';
 idhttp.Request.CharSet := 'utf-8';
 IdHTTP.Request.Accept := '*/*';
 IdHTTP.Request.BasicAuthentication := False;
 IdHTTP.Request.UserAgent := 'Mozilla/3.0 (compatible; Indy Library)';
 IdHTTP.HTTPOptions := [hoForceEncodeParams];
 RequestURL := 'http://localhost:8080/userinfo/aaa.do';
 ResponseStream := TStringStream.Create('', TEncoding.GetEncoding(65001));
  IdHTTP.Get(RequestURL, ResponseStream);IdHTTP.Free;
 kkk:=ResponseStream.DataString;
 ResponseStream.Position := 0;
 LJsonArr := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(kkk),0) as TJSONArray;
 for LJsonValue in LJsonArr do
 begin
 for LItem in TJSONArray(LJsonValue) do
 begin
 if TJSONPair(LItem).JsonString.Value='userNumber' then
 begin
 S :=Format('%s : %s',[TJSONPair(LItem).JsonString.Value, TJSONPair(LItem).JsonValue.Value]);
 showmessage(s);
 end;
 end;
 end;
 Memo1.Text := ResponseStream.DataString;
 JO.Free;
 ResponseStream.Free;
 end;
 end. |