Ceci est une ancienne révision du document !


JSON

Lire une valeur

Get

var
  vJO: TJSonObject;
begin
   FBigEndian:=vJO.Get('bendian',false);
end;        

Fonctionne sur :

fpjson.pp
    Function Get(Const AName : String) : Variant;
    Function Get(Const AName : String; ADefault : TJSONFloat) : TJSONFloat;
    Function Get(Const AName : String; ADefault : Integer) : Integer;
    Function Get(Const AName : String; ADefault : Int64) : Int64;
    Function Get(Const AName : String; ADefault : QWord) : QWord;
    Function Get(Const AName : String; ADefault : Boolean) : Boolean;
    Function Get(Const AName : String; ADefault : TJSONStringType) : TJSONStringType;
    Function Get(Const AName : String; ADefault : TJSONUnicodeStringType) : TJSONUnicodeStringType;
    Function Get(Const AName : String; ADefault : TJSONArray) : TJSONArray;
    Function Get(Const AName : String; ADefault : TJSONObject) : TJSONObject;

FindPath

Pour récuperer le JSONArray version dans le JSON suivant :

{
  "json_format_version": [
    1,
    0
  ],
  "smartctl": {
    "version": [
      7,
      2
    ],
    "svn_revision": "5155",
    "build_info": "(sf-7.2-1)",
    "exit_status": 0
  }
}

On peut utiliser le code ci-dessous (TJsonData.FindPath):

 vJSA:=TJSONArray(OutJSON.FindPath('smartctl.version'));

Pour avoir seulement le 7 :

var
   vJD: TJSonData;
...
  vJD:= OutJSON.FindPath('smartctl.version[0]');
  if assigned(vJD) then Result:=vJD.AsString;  

Sources & Ressources

Vous pourriez laisser un commentaire si vous étiez connecté.