json - 如何检查 SuperObject 中是否存在特定元素?

标签 json delphi superobject

我广泛使用 SuperObject JSON 库。我需要能够检查对象中是否存在特定元素。我可以检查元素的值,例如不存在的整数返回 0。但是,如果 0 确实存在,则它是可能的值之一 - 因此我不能依赖于观察 0 来判断该元素是否存在。我检查了 ISuperObject 是否有可以执行此操作的方法(例如,我期望类似 ISuperObject.Exists(const S: String): Boolean;),但什么也没看到像这样。

如何检查 JSON 对象中是否存在特定元素?

最佳答案

最新更新SuperObject包含一个 Exists() 函数。

var
  obj : ISuperObject;
begin
  obj := TSuperObject.ParseFile('..\..\SAMPLE.JSON',FALSE);
  if not obj.AsObject.Exists('FindMe') then begin
    WriteLn('Not found');
  end;
end;

如果您应该使用dwsJSON相反,有一个类似的函数可以使用解析器:

if json['DoesNotExists'].ElementCount = 0 then begin
  WriteLn('Not found');
end;

关于json - 如何检查 SuperObject 中是否存在特定元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23858339/

相关文章:

javascript - JSON 中的元素

delphi - 德尔福持续集成系统

delphi - 如何将多个不同的记录(由于delphi限制而不是类)传递给一个函数?

json - super 对象 - 元素名称中的空格

json - 使用 SuperObect 更改 Json

javascript - 将一系列 JSON 数据从 php 回显到 JavaScript,

java - 从 json 响应创建 java 模型

python - 将 json 数据写入 json 文件时 JSON.parse 错误

delphi - 如何以编程方式更改 Firemonkey 控件中的字体属性

json - 使用 StringReplace 从 JSON 响应中删除不需要的字符的替代方法