在 Delphi 中,SuperObject 是一个流行的 JSON 解析和生成库。它允许你轻松地处理 JSON 数据,包括解析 JSON 字符串为可操作的对象,以及将对象编码回 JSON 字符串。以下是一个使用 SuperObject 进行 JSON 解析和编码的示例:

首先,确保你已经将 SuperObject 的源代码添加到你的项目中,或者作为库引用。

解析 JSON 字符串

uses
  ..., SuperObject;

var
  JSON: ISuperObject;
  StrJSON: string;
  Value: string;
begin
  // 示例 JSON 字符串
  StrJSON := '{ "name": "John Doe", "age": 30, "isMarried": true }';
  
  // 解析 JSON 字符串
  JSON := SO(StrJSON);
  
  // 读取值
  Value := JSON.S['name']; // 读取 'name' 键对应的字符串值
  ShowMessage(Value); // 显示 "John Doe"
  
  // 读取其他类型的值
  ShowMessage(IntToStr(JSON.I['age'])); // 显示年龄 "30"
  ShowMessage(BoolToStr(JSON.B['isMarried'])); // 显示婚姻状况 "True"
  
  // 释放 SuperObject(如果需要)
  JSON := nil;
end;

编码对象为 JSON 字符串

uses
  ..., SuperObject;

var
  JSON: ISuperObject;
  StrJSON: string;
begin
  // 创建一个新的 JSON 对象
  JSON := TSuperObject.Create;
  
  // 向对象中添加值
  JSON.S['name'] := 'Jane Smith';
  JSON.I['age'] := 25;
  JSON.B['isMarried'] := False;
  
  // 将 JSON 对象编码为字符串
  StrJSON := JSON.AsJSON;
  
  // 显示编码后的 JSON 字符串
  ShowMessage(StrJSON); // 显示 '{ "name": "Jane Smith", "age": 25, "isMarried": false }'
  
  // 释放 SuperObject(如果需要)
  JSON := nil;
end;

在这个示例中,ShowMessage 是一个假设的函数,用于显示消息或结果。在实际应用中,你可能会使用 WriteLn、在 GUI 控件中显示结果,或者以其他方式处理这些值。

请注意,当你使用 ISuperObject 时,它会自动管理内存。但是,如果你创建了 TSuperObject 的实例,并打算在较长的时间段内持有它,那么你应该负责在不再需要它时释放它(如上例所示)。如果你只是将 ISuperObject 变量指向由其他函数返回的 JSON 对象,并且不打算长期持有它,那么通常不需要手动释放它。

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 3 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐