【Delphi 爬虫库 2】使用封装好的 JSON 解析库对 JSON 数据进行解析
uses
System.JSON;
procedure ParseJSONExample;
var
JSONData: TJSONValue;
JSONObject: TJSONObject;
JSONArray: TJSONArray;
Item: TJSONValue;
NameValue: TJSONValue;
begin
// 假设有一段 JSON 字符串
const JSONString = '{"employees":[' +
'{"firstName":"John","lastName":"Doe" },' +
'{"firstName":"Anna","lastName":"Smith" },' +
'{"firstName":"Peter","lastName":"Jones" }]}'
;
// 解析 JSON 字符串
JSONData := TJSONObject.ParseJSONValue(JSONString);
try
// 确保 JSON 数据被正确解析
if JSONData <> nil then
begin
// 获取 "employees" 数组
JSONArray := JSONData.GetValue<TJSONArray>('employees');
// 遍历数组
for Item in JSONArray do
begin
// 将每个数组元素转换为 JSON 对象
JSONObject := Item as TJSONObject;
// 获取对象中的 "firstName" 和 "lastName" 值
NameValue := JSONObject.GetValue('firstName');
Writeln('FirstName: ', NameValue.Value);
NameValue := JSONObject.GetValue('lastName');
Writeln('LastName: ', NameValue.Value);
end;
end
else
Writeln('JSON is not valid');
finally
// 释放 JSON 数据对象
JSONData.Free;
end;
end;
这段代码展示了如何使用 Delphi 中封装好的 JSON 解析库来解析一个简单的 JSON 字符串。首先,使用 TJSONObject.ParseJSONValue
方法解析 JSON 字符串,然后检查解析结果是否为 nil,并对解析到的数据进行处理。最后,确保释放所有使用的资源。
评论已关闭