wlw321123 2021-03-04 20:21 采纳率: 0%
浏览 184

delphi superobject 解析Json null?

delphi superobject 怎么解析Json null和''  ?

{
    "infcode":0,
    "warn_msg":null,
    "cainfo":null,
    "err_msg":""
    
}

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-24 09:55
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Delphi中,nullNULL 的简写,表示空值。当你尝试将一个空对象(即 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 或者 ' ' 而不是直接忽略它们,你可以使用 ifnot 来检查它们,并根据需要进行相应的操作。

    例如:

    var
      MyObject: TMyObject;
    begin
      if MyObject.InfCode = 0 then
        // 确保这个值是有效的
      else
        // 如果无效,则做其他事情
    end;
    

    请注意,上述代码仅适用于 Delphi 的标准库类型和结构体。对于更复杂的类型或自定义类型,你可能需要自己实现这些功能。

    评论

报告相同问题?