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

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 的标准库类型和结构体。对于更复杂的类型或自定义类型,你可能需要自己实现这些功能。

    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵