在Delphi 10.3中解析JSON数据可以使用TJSONObject和TJSONValue类来实现。以下是一个示例代码,演示如何解析JSON数据:
uses
System.JSON;
procedure ParseJSONData(const jsonData: string);
var
jsonObject: TJSONObject;
jsonArray: TJSONArray;
jsonValue: TJSONValue;
i: Integer;
begin
jsonObject := TJSONObject.ParseJSONValue(jsonData) as TJSONObject;
try
// 解析顶层JSON对象
if Assigned(jsonObject) then
begin
// 解析字符串属性
if jsonObject.TryGetValue<string>('name', jsonValue) then
ShowMessage('Name: ' + jsonValue.Value);
// 解析整数属性
if jsonObject.TryGetValue<Integer>('age', jsonValue) then
ShowMessage('Age: ' + IntToStr(jsonValue.Value));
// 解析嵌套的JSON对象
if jsonObject.TryGetValue<TJSONObject>('address', jsonValue) then
begin
// 解析嵌套对象的属性
if jsonValue.TryGetValue<string>('city', jsonValue) then
ShowMessage('City: ' + jsonValue.Value);
if jsonValue.TryGetValue<string>('country', jsonValue) then
ShowMessage('Country: ' + jsonValue.Value);
end;
// 解析JSON数组
if jsonObject.TryGetValue<TJSONArray>('hobbies', jsonArray) then
begin
for i := 0 to jsonArray.Count - 1 do
begin
jsonValue := jsonArray.Items[i];
if Assigned(jsonValue) then
ShowMessage('Hobby: ' + jsonValue.Value);
end;
end;
end;
finally
jsonObject.Free;
end;
end;
在上述示例中,我们首先使用TJSONObject.ParseJSONValue函数将JSON数据解析为TJSONObject对象。然后,我们可以使用TryGetValue方法来获取JSON对象中的属性值。如果属性是嵌套的JSON对象或JSON数组,我们可以继续使用TryGetValue方法来进一步解析。
请注意,上述示例仅用于演示如何解析JSON数据,并不涉及具体的腾讯云产品。如果您需要与腾讯云相关的JSON数据解析,您可以根据具体的腾讯云产品文档中的示例代码进行相应的解析操作。
领取专属 10元无门槛券
手把手带您无忧上云