Contains
function Contains(const aValueName: String): Boolean;
Example
procedure ScriptEvent(var Value: variant);
var
Payload: TJSONObject;
begin
Payload := TJSONObject.CreateFromString('{"Reference":"DEMO-1001"}');
try
Value := Payload.Contains('reference'); // True; comparison ignores case.
finally
Payload.Free;
end;
end;
Usage
Contains tests for a first case-insensitive field-name match without creating the missing null inserted by the default property.
Additional Technical Info
Contains returns True when FindValue finds at least one field whose name matches aValueName with Delphi SameText. It is case-insensitive and checks fields in insertion order.
This is a side-effect-free existence test. Unlike default Values[name], a miss does not insert a null value or change ValueCount and serialization.
A present field counts even when its child IsNull is true. With duplicate names, the result is simply true; use ValueByIndex when every physical occurrence matters.
The empty string is a valid lookup name if an object contains a child with an empty Name. No normalization beyond SameText is performed.
External references
- Embarcadero
SameText - Free Pascal
SameText- compatible comparison context.