1. 项目概述:Delphi JSON封装库
在Delphi开发中,处理JSON数据是常见需求。虽然System.JSON单元提供了基础功能,但原生API存在使用繁琐、类型转换复杂等问题。这个封装库正是为了解决这些痛点而生。
1.1 核心功能定位
这个封装库基于Delphi自带的System.JSON单元进行二次开发,主要提供以下增强功能:
- 简化JSON对象/数组的创建和访问
- 自动处理类型转换(如字符串转数值、布尔值)
- 提供链式调用支持
- 内置空值安全处理
- 支持JSON与对象之间的序列化/反序列化
注意:该库完全基于原生System.JSON,不依赖第三方组件,适合需要轻量级解决方案的项目。
1.2 设计哲学
库的设计遵循三个原则:
- 最小侵入性:保持与System.JSON的兼容性
- 开发效率优先:减少样板代码
- 类型安全:在编译期尽可能捕获错误
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心API设计与实现
2.1 基础封装类结构
库的核心是三个主要类:
delphi复制TJsonHelper = class helper for TJSONObject
// 为TJSONObject添加便捷方法
end;
TJsonWrapper = class
private
FJsonObject: TJSONObject;
public
// 封装常用操作
end;
TJsonArrayWrapper = class
private
FJsonArray: TJSONArray;
public
// 数组专用操作
end;
2.2 关键方法实现
以下是一些典型方法的实现示例:
2.2.1 安全取值方法
delphi复制function TJsonWrapper.GetString(const Path: string;
const Default: string = ''): string;
var
Value: TJSONValue;
begin
Value := FJsonObject.GetValue(Path);
if Assigned(Value) then
Result := Value.Value
else
Result := Default;
end;
2.2.2 链式调用支持
delphi复制function TJsonWrapper.AddPair(const Name, Value: string): TJsonWrapper;
begin
FJsonObject.AddPair(Name, Value);
Result := Self; // 返回自身以实现链式调用
end;
2.3 类型转换处理
库内置了智能类型转换逻辑:
delph复制
