我有一个像这样的JSON文件:
[{"id":1,"name":"JOHN"}, {"id":2,"name":"PETER"}]
我想将此列表存储到ClientDataSet或类似的东西中。如何使用REST.Json
单元在Delphi 10.2 Tokyo中执行此操作?
答案 0 :(得分:0)
使用Rest.json,我不知道但是如果你想将[{"id":1,"name":"JOHN"}, {"id":2,"name":"PETER"}]
转换为Tstringlist
,你可以使用alcinoe
Procedure ALJSONToTStrings(const AJsonStr: AnsiString;
const aFormatSettings: TALFormatSettings;
const aPath: AnsiString;
const aLst: TALStrings;
Const aNullStr: AnsiString = 'null';
Const aTrueStr: AnsiString = 'true';
Const aFalseStr: AnsiString = 'false'); overload;
Procedure ALJSONToTStringsU(const AJsonStr: String;
const aFormatSettings: TALformatSettingsU;
const aPath: String;
const aLst: TALStringsU;
Const aNullStr: String = 'null';
Const aTrueStr: String = 'true';
Const aFalseStr: String = 'false'); overload;
答案 1 :(得分:0)
Delphi 10.2 Tokyo的REST客户端库包含一个 TRESTResponseDataSetAdapter 类,用于将JSON解析为数据集。
查看10.2附带的RESTDemos示例项目。有一个在 Fetch to DataSet 选项卡上使用适配器的示例。
按钮点击事件中的代码是:
ResetRESTComponentsToDefaults;
RESTResponseDataSetAdapter.Response:= RESTResponse;
RESTResponseDataSetAdapter.Dataset:= ClientDataSet;
RESTClient.BaseURL := edt_DataSet_BaseURL.Text;
RESTRequest.Resource := edt_DataSet_ResourceURI.Text;
RESTRequest.Execute;