delphi superobject 怎么解析Json null和'' ?
{
"infcode":0,
"warn_msg":null,
"cainfo":null,
"err_msg":""
}
delphi superobject 怎么解析Json null和'' ?
{
"infcode":0,
"warn_msg":null,
"cainfo":null,
"err_msg":""
}
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在Delphi中,null
是 NULL
的简写,表示空值。当你尝试将一个空对象(即 null
)转换为 JSON 时,它不会被转换为 null
,而是会保持原始的 null
值。
例如:
type
TMyObject = record
InfCode: Integer;
WarnMsg: string;
Cainfo: string;
ErrMsg: string;
end;
function MyFunction: TMyObject;
begin
Result.InfCode := 0;
Result.WarnMsg := 'some warning message';
Result.Cainfo := 'some Caino info';
Result.ErrMsg := '';
end;
在这个例子中,Result
对象包含了一个非空的 TMyObject
实例,即使它的属性都是 null
。
如果你想要处理 null
或者 ' '
而不是直接忽略它们,你可以使用 if
和 not
来检查它们,并根据需要进行相应的操作。
例如:
var
MyObject: TMyObject;
begin
if MyObject.InfCode = 0 then
// 确保这个值是有效的
else
// 如果无效,则做其他事情
end;
请注意,上述代码仅适用于 Delphi 的标准库类型和结构体。对于更复杂的类型或自定义类型,你可能需要自己实现这些功能。