Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prog:lazarus:classes:json [01/05/2021 17:13]
thierry [FindPath]
prog:lazarus:classes:json [01/05/2021 17:20] (Version actuelle)
thierry [FindPath]
Ligne 20: Ligne 20:
  
 ===== Lire une valeur ===== ===== Lire une valeur =====
-==== Get ====+==== TJSonObject.Get ====
  
 ''​JSon.GET('​Nom element',​ VALEUR PAR DEFAUT);''​\\ ''​JSon.GET('​Nom element',​ VALEUR PAR DEFAUT);''​\\
Ligne 55: Ligne 55:
   - Il permet de savoir quel **Get** on utilisera en fonction de son type.\\ Cela evite d'​appeler le **Get** générique qui passe par les Variants   - Il permet de savoir quel **Get** on utilisera en fonction de son type.\\ Cela evite d'​appeler le **Get** générique qui passe par les Variants
 </​note>​ </​note>​
-==== FindPath ====+==== TJSonData.FindPath ====
 Pour récuperer le JSONArray ''​version''​ dans le JSON suivant : Pour récuperer le JSONArray ''​version''​ dans le JSON suivant :
 <code javascript>​ <code javascript>​
Ligne 86: Ligne 86:
   if assigned(vJD) then Result:​=vJD.AsString;  ​   if assigned(vJD) then Result:​=vJD.AsString;  ​
 </​code>​ </​code>​
-==== Find (la sécurité) ====+==== TJSonObject.Find (la sécurité) ==== 
 +Dans l'​exemple ci dessous on veut récupéré un eventuel JSonArray dans le JSonObject ''​vJO''​. 
 +<code delphi>​ 
 +var 
 +   vJO: TJSONObject;​ 
 +   vJA: TJSonArray;​ 
 +   ​vI: ​ integer; 
 +   vS: string; 
 +begin 
 +   ... 
 +      if vJO.Find('​dependencies',​vJA) then 
 +         for vI := 0 to vJA.Count - 1 do 
 +            vS:= vS+vJA.Strings[vI];​ 
 +   ... 
 +end;             
 +</​code>​ 
 +''​TJsonObject.Find''​ fonctionne avec tous ces types : 
 +<code delphi>​ 
 +    Function Find(Const AName : String) : TJSONData; overload; 
 +    Function Find(Const AName : String; AType : TJSONType) : TJSONData; overload; 
 +    function Find(const key: TJSONStringType;​ out AValue: TJSONData): boolean; 
 +    function Find(const key: TJSONStringType;​ out AValue: TJSONObject):​ boolean; 
 +    function Find(const key: TJSONStringType;​ out AValue: TJSONArray):​ boolean; 
 +    function Find(const key: TJSONStringType;​ out AValue: TJSONString):​ boolean; 
 +    function Find(const key: TJSONStringType;​ out AValue: TJSONBoolean):​ boolean; 
 +    function Find(const key: TJSONStringType;​ out AValue: TJSONNumber):​ boolean; 
 + 
 +</​code>​