JSON(JavaScript Object Notation)是一種輕便的數據交換格式。在Delphi中,可以使用TJSONObject和TJSONParser類解析JSON字符串。
var
jsonStr: string;
jsonObject: TJSONObject;
begin
jsonStr := '{"name": "John", "age": 30, "married": true}';
jsonObject := TJSONObject.ParseJSONValue(jsonStr) as TJSONObject;
try
if Assigned(jsonObject) then
begin
ShowMessage(jsonObject.GetValue('name').Value);
ShowMessage(jsonObject.GetValue('age').Value);
ShowMessage(jsonObject.GetValue('married').Value);
end;
finally
jsonObject.Free;
end;
end;
注意,獲取值的方式是使用GetValue方法,然后獲取Value屬性。如果JSON中的值不是字符串類型,可以使用AsXXX方法轉換成其他類型。
var
jsonStr: string;
jsonObject: TJSONObject;
begin
jsonStr := '{ "name": "John",
"age": 30,
"hobbies": ["reading", "swimming", "traveling"],
"contact": {"phone": "123456", "email": "john@example.com"}}';
jsonObject := TJSONObject.ParseJSONValue(jsonStr) as TJSONObject;
try
if Assigned(jsonObject) then
begin
ShowMessage(jsonObject.GetValue('name').Value);
ShowMessage(IntToStr(jsonObject.GetValue('age').Value.ToInteger));
ShowMessage(jsonObject.GetValue('hobbies').ToString);
ShowMessage(jsonObject.GetValue('contact').ToString);
end;
finally
jsonObject.Free;
end;
end;
上述示例中,JSON中的hobbies和contact是嵌套的JSON數組和JSON對象。GetValue方法可以獲取嵌套對象或數組的引用,然后使用ToString方法獲取字符串形式的嵌套對象或數組。