Einzelnen Beitrag anzeigen

DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.212 Beiträge
 
Delphi 2007 Architect
 
#7

AW: LkJSON Array?!? Lesen und ändern

  Alt 10. Jan 2024, 13:16
Hallo,
es tut mir wirklich leid, aber ich bekomme es nicht hin, bei id 3272 etwas zu ändern bzw. Werte hinzu zu fügen. Ich habe nichts bei Google gefunden. Eventuell suche ich auch falsch. Es wäre super wenn jemand mir verraten würde was ich machen muss.

Delphi-Quellcode:
      for i:=0 to arr.Length-1 do begin
        id:=arr.O[i].S['id'];
        if ( id='3272' ) then begin
          // ????
        end;
        locked:=arr.O[i].S['locked'];
      end;
Schonmal vielen Dank im voraus

[EDIT]
Ich habe es gefunden. Ob das aber so "sauber" ist weiß ich nicht.
Delphi-Quellcode:
procedure ParseJson;
var
  id :String;
  locked :String;
  success :boolean;
  obj :iSuperObject;
  arr :TSuperArray;
  i :Integer;
  json :TStringList;
  Mem :TMemoryStream;
  x :ISuperObject;
begin
    try
      json:=TStringList.Create;
      json.LoadFromFile('json.txt');
      obj:=so(json.Text);
      success:=obj.B['success'];
      arr:=obj.A['invoices'];
      for i:=0 to arr.Length-1 do begin
        id:=arr.O[i].S['id'];
        if ( id='3272' ) then begin
          x:=SO;
          x.S['test']:='doedel';
          arr.O[i].Merge(x);
        end;
        locked:=arr.O[i].S['locked'];
      end;
    finally
      json.Free;
    end;
    Mem:=TMemoryStream.Create;
    obj.SaveTo(Mem);
    Mem.Position:=0;
    Mem.SaveToFile('json1.txt');
    Mem.Free;

end;
[/EDIT]
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!

Geändert von DelTurbo (10. Jan 2024 um 13:34 Uhr) Grund: Nachtrag
  Mit Zitat antworten Zitat