Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   ParseJSONVALUE wie geht das? (https://www.delphipraxis.net/211134-parsejsonvalue-wie-geht-das.html)

wschrabi 1. Aug 2022 17:48

AW: ParseJSONVALUE wie geht das?
 
Zitat:

Zitat von LoZe (Beitrag 1509606)
...
uses
Pkg.Json.DTO,
end.[/DELPHI]

Was ist das für eine UNIT????
Pkg ist die in Berlin drin? Denke nicht.
mfg
ws

EDIT: Habs chon von https://www.json2delphi.com/

Union 1. Aug 2022 17:54

AW: ParseJSONVALUE wie geht das?
 
Das sind die JSONDataObjects

wschrabi 2. Aug 2022 04:35

AW: ParseJSONVALUE wie geht das?
 
BESTEN DANK! Mit dem jsontodelphi klappt es sehr gut.

Kann man da noch irgedwie fragen, wenn der ARRAY mehr als 1 Element hat, wieviele er hat und dann das Array durchlaufen um alle Array Element in ein MEMO Feld zu bekommen?
Besten DANK:-D

LoZe 2. Aug 2022 06:25

AW: ParseJSONVALUE wie geht das?
 
ja

Delphi-Quellcode:
  Root.Data.Translations.Items.Count


und du kannst auch alle durchlaufen mit

Delphi-Quellcode:
for I:= 0 to Root.Data.Translations.Items.Count-1 do
begin
  Memo1.Lines.Add(Root.Data.Translations.Items[I].TranslatedText);
end;

wschrabi 2. Aug 2022 06:36

AW: ParseJSONVALUE wie geht das?
 
Tausend DANK!:thumb:

wschrabi 3. Aug 2022 09:28

AW: ParseJSONVALUE wie geht das?
 
Zitat:

Zitat von LoZe (Beitrag 1509642)
ja

Delphi-Quellcode:
  Root.Data.Translations.Items.Count

:shock:

Leider Root.Data.Translations.Items hat das keine COUNT Eigenschaft. Was kann ich tun?
Wenn ich das verstehe ist das eine ObjectList und kein Array.
guck mal, kann man das irgendwie CASTen
Delphi-Quellcode:
type
  TTranslations = class;

  TTranslations = class
  private
    FTranslatedText: string;
  published
    property TranslatedText: string read FTranslatedText write FTranslatedText;
  end;
 
  TData = class(TJsonDTO)
  private
    [JSONName('translations'), JSONMarshalled(False)]
    FTranslationsArray: TArray<TTranslations>;
    [GenericListReflect]
    FTranslations: TObjectList<TTranslations>;
    function GetTranslations: TObjectList<TTranslations>;
  protected
    function GetAsJson: string; override;
  published
    property Translations: TObjectList<TTranslations> read GetTranslations;
  public
    destructor Destroy; override;
  end;
 
  TRoot = class(TJsonDTO)
  private
    FData: TData;
  published
    property Data: TData read FData;
  public
    constructor Create; override;
    destructor Destroy; override;
  end;
DANKE

Union 3. Aug 2022 09:49

AW: ParseJSONVALUE wie geht das?
 
[QUOTE=wschrabi;1509686]
Zitat:

Zitat von LoZe (Beitrag 1509642)
ja

Delphi-Quellcode:
  Root.Data.Translations.Items.Count
Leider Root.Data.Translations.Items hat das keine COUNT Eigenschaft.

:shock:

Root.Data.Translations aber schon.

LoZe 3. Aug 2022 11:37

AW: ParseJSONVALUE wie geht das?
 
[QUOTE=wschrabi;1509686]
Zitat:

Zitat von LoZe (Beitrag 1509642)
ja
Leider Root.Data.Translations.Items hat das keine COUNT Eigenschaft. Was kann ich tun?
DANKE

Sry war aus dem Kopf raus geschrieben hatte vergessen das Count auf der TObjectList ist.

Die Klasse wandelt den Array automatisch in eine TObjectListe um zur einfacheren Verwendung.

Delphi-Quellcode:
for I:= 0 to Root.Data.Translations.Count-1 do
begin
  Memo1.Lines.Add(Root.Data.Translations.Items[I].TranslatedText);
end;

wschrabi 3. Aug 2022 12:53

AW: ParseJSONVALUE wie geht das?
 
achja DANKE :thumb:
Jetzt klappt es wunderbar BESTEN DANK


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:21 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz