如何解析DELPHI XE5服务器返回的JSON数据(翻译)及中文乱码

时间:2022-05-05 07:11:57

 

 

如何解析DELPHI XE5服务器返回的JSON数据(翻译)及中文乱码

如何解析DELPHI XE5服务器返回的JSON数据(翻译)及中文乱码

<span style="font-size:14px;">一直想找如何解析JSON数据的说,今天终于找到有人发帖子了。之前有人说用superobject,Tlkjson,delphi json library,delphi  web unit等等。其实我是想找比较简单的解析方式。解析简单的json。下面是转载的坦然的源码。  

</span>  

[delphi]  

 

 

如何解析DELPHI XE5服务器返回的JSON数据(翻译)及中文乱码

如何解析DELPHI XE5服务器返回的JSON数据(翻译)及中文乱码

unit Unit1;  

  

interface  

  

uses  

  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,  

  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,DBXJSON;  

  

type  

  TForm1 = class(TForm)  

    Button1: TButton;  

    procedure Button1Click(Sender: TObject);  

  private  

    { Private declarations }  

  public  

    { Public declarations }  

  end;  

  

var  

  Form1: TForm1;  

  

implementation  

  

{$R *.dfm}  

  

const  

  GJSONString =  

    ‘{‘ +  

    ‘    "name": {‘+  

    ‘        "A JSON Object": {‘ +  

    ‘          "id": "1"‘ +  

    ‘        },‘ +  

    ‘        "Another JSON Object": {‘ +  

    ‘          "id": "2"‘ +  

    ‘        }‘ +  

    ‘    },‘ +  

    ‘    "totalobjects": "2"‘ +  

    ‘}‘;  

  

procedure TForm1.Button1Click(Sender: TObject);  

var  

  LJSONObject: TJSONObject;  

  Value: TJSONValue;  

begin  

  LJSONObject := nil;  

  try  

    LJSONObject := TJsonObject.Create;  

    Value := TJSONValue.Create;  

    { convert String to JSON }  

    LJSONObject.Parse(BytesOf(GJSONString), 0);  

    Value :=LJSONObject.GetValue(‘name‘);  

    ShowMessage(Value.ToString);  

  finally  

    LJSONObject.Free;  

  end;  

end;  

  

end.  


灰常好,在此谢谢博主。

但是这样处理中文的时候会出现乱码现象。我对代码稍微修改了一下:

[delphi]