AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Json parsen problem

Ein Thema von venice2 · begonnen am 14. Dez 2020 · letzter Beitrag vom 15. Dez 2020
Antwort Antwort
venice2
(Gast)

n/a Beiträge
 
#1

AW: Json parsen problem

  Alt 15. Dez 2020, 07:02
Das ist mir ehrlich gesagt zu schwierig auf die Schnelle nachzuvollziehen. Vielleicht hilft aber dieses Beispiel weiter (ich selbst benutze nur System.JSON, das gab es aber unter Delphi 2010 noch nicht IIRC): https://gist.github.com/fabriciocolo...010787d86b5c65
Hmmm.. schade.
Mit dem Code kann ich leider nichts anfangen ist ja quasi das gleiche.


Edit:
Habe es mal so versucht funktioniert leider nicht.
Delphi-Quellcode:
procedure TEpgDataList.FillList(aZatJson: TZATJSON);
var
// I: integer;
  channels: TZATJSON;
  programs: TZATJSON;
begin

  if assigned(aZatJson) then
  begin
    channels := aZatJson.JSONByNameOrIndex['channels'];
    if assigned(channels) and channels.IsList then // gibt mir den Count von 170 Sendern zurück
    begin
      programs := aZatJson.JSONByNameOrIndex['programs']; // hier kracht es
      if programs.ListItems.Count > 0 then
        addEpgData(programs.ListItems[1]);
    end;
  end;
end;

Geändert von venice2 (15. Dez 2020 um 07:13 Uhr)
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Json parsen problem

  Alt 15. Dez 2020, 07:57
Und wenn Du nicht "aZatJson", sondern "channels" nach dem Element "programs" befragst? Immerhin ist "programs" ja auch ein direktes Unterelement davon.
programs := channels.JSONByNameOrIndex['programs']; .
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#3

AW: Json parsen problem

  Alt 15. Dez 2020, 08:07
Und wenn Du nicht "aZatJson", sondern "channels" nach dem Element "programs" befragst? Immerhin ist "programs" ja auch ein direktes Unterelement davon.
programs := channels.JSONByNameOrIndex['programs']; .
Das ist es ja warum geht es nicht.
so kann ich es nicht abfragen aber auf diese weise.

lZatJson := aZatJson.JSONByNameOrIndex['channels']; // ist ja schon die initialisierung von channels und funktioniert.

Dein Vorschlag wäre dann, falls ich dich richtig verstehe.

programs := lZatJson.JSONByNameOrIndex['programs'];
Danke für den Beitrag.

würde ich channels nehmen dann müsste ich channels als TZATJSON definieren.
habe es versucht schlägt aber ebenso fehl.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz