回归

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  109 随笔 :: 1 文章 :: 3 评论 :: 10万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

在 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 功能进行更多高级操作。

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

posted on   回归2016  阅读(1559)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示