Einzelnen Beitrag anzeigen

Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
659 Beiträge
 
Delphi 12 Athens
 
#5

AW: Ist das valides JSON?

  Alt 8. Feb 2021, 17:40
Naja, wenn es unterschiedliche Strukturen sind, müssen deine Objekte dem logischerweise auch entsprechen. Alternativ kannst du das natürlich auch einfach "zu Fuß" auswerten, wenn das so eine relativ einfache Struktur ist - dann musst du dafür nicht extra ein Objekt anlegen.

Kleines Beispiel-Programm, welches die 40941 aus deinem Beispiel-JSON ausliest:

Delphi-Quellcode:
program jarray;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils,
  System.Classes,
  System.JSON,
  System.Generics.Collections;

var
  strList: TStringList;
  jValue: TJSONValue;
  jArr: TJSONArray;
begin
  try
    { TODO -oUser -cConsole Main : Code hier einfügen }
    strList:=TStringList.Create;
    strList.LoadFromFile(ParamStr(1));
    jValue:=TJSONObject.ParseJSONValue(strList.Text);
    if jValue is TJSONObject then begin
      if TJSONObject(jValue).TryGetValue<TJSONArray>('allowedPaymentMethodConfigurations',jArr) then begin
        if (jArr.Count>0) and (jArr.Items[0] is TJSONNumber) then
          Writeln(TJSONNumber(jArr.Items[0]).Value)
        else
          writeln('id not found');
      end;
    end else
      Writeln('no JSON object');
    jValue.Free;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.

Geändert von Bbommel ( 8. Feb 2021 um 17:43 Uhr)
  Mit Zitat antworten Zitat