我有以下array of strings
:
001002005009
我需要从中创建一个TJSONArray
:
[" 001"" 002"" 005"" 009"]
JSONObj := TJSONObject.Create;
JSONObj.AddPair(TJSONPair.Create('Events', (response_faults as TJSONArray)));
我尝试创建对象并将字符串数组传递为 a TJSONArray
,但我得到了:
E2015运算符不适用于此操作数类型
如何从TJSONArray
生成array of strings
?
答案 0 :(得分:2)
首先需要构造一个空的TJSONArray
对象,然后Add()
构造单个字符串值。例如:
var
arr: array of string;
JSONObj: TJSONObject;
response_faults: TJSONArray;
I: Integer;
begin
arr := ... ; // '001', '002', '005', '009', ...
JSONObj := TJSONObject.Create;
try
response_faults := TJSONArray.Create;
try
for I := Low(arr) to High(arr) do begin
response_faults.Add(arr[I]);
end;
JSONObj.AddPair('Events', response_faults);
except
response_faults.Free;
raise;
end;
// use JSONObj as needed...
finally
JSONObj.Free;
end;
end;