查看: 38|回复: 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.

在本版发帖返回顶部