查看: 47|回覆: 0

delphi json用法详解

[複製鏈接]

3

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-2-3
發表於 2023-9-18 00:01:00 | 顯示全部樓層 |閲讀模式

在 Delphi 中,使用 JSON(JavaScript Object Notation)可以实现数据的序列化和反序列化,以便在不同系统之间传递和存储数据。下面是使用 Delphi 处理 JSON 的一些常见用法:

  1. 创建 JSON 对象:
var
jsonObject: TJSONObject;
begin
jsonObject := TJSONObject.Create;
try
jsonObject.AddPair('name', 'John');
jsonObject.AddPair('age', TJSONNumber.Create(25));
// 添加更多的键值对
finally
jsonObject.Free;
end;
end;

通过 TJSONObject 类创建一个 JSON 对象,并通过 AddPair 方法添加键值对(键是字符串,值可以是各种类型)。

  1. 序列化为 JSON 字符串和反序列化:
var
jsonObject: TJSONObject;
jsonString: string;
begin
jsonObject := TJSONObject.Create;
try
jsonObject.AddPair('name', 'John');
jsonObject.AddPair('age', TJSONNumber.Create(25));
jsonString := jsonObject.ToString; // 序列化为 JSON 字符串
// 反序列化 JSON 字符串为 JSON 对象
jsonObject := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(jsonString), 0) as TJSONObject;
finally
jsonObject.Free;
end;
end;

通过 ToString 方法可以将 JSON 对象序列化为 JSON 字符串,使用 ParseJSONValue 方法可以将 JSON 字符串反序列化为 JSON 对象。

  1. 获取和设置 JSON 对象的值:
var
jsonObject: TJSONObject;
name: string;
age: Integer;
begin
jsonObject := TJSONObject.Create;
try
jsonObject.AddPair('name', 'John');
jsonObject.AddPair('age', TJSONNumber.Create(25));

// 获取值
name := jsonObject.Values['name'].Value; // 'John'
age := (jsonObject.Values['age'] as TJSONNumber).AsInt; // 25

// 设置值
jsonObject.Values['name'].Value := 'Alice';
(jsonObject.Values['age'] as TJSONNumber).AsInt := 30;

// 添加新键值对
jsonObject.AddPair('gender', 'female');
finally
jsonObject.Free;
end;
end;

可以通过 Values 属性获取和设置 JSON 对象中的值,使用 .Value 和类型转换方法来读取和设置特定数据类型的值。

这仅是 JSON 在 Delphi 中的一些常见用法示例,Delphi 还提供了更多功能用于处理 JSON 数据,如数组的处理、嵌套对象的处理、值拷贝等。可以根据实际需求使用 Delphi 中的 JSON 功能进行更多高级操作。

希望这些示例对你有所帮助!如果你还有其他问题,请随时提问。



来源:https://www.cnblogs.com/delphixe/p/17710324.html
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部