Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Json unbekanntes feld abfangen (https://www.delphipraxis.net/206370-json-unbekanntes-feld-abfangen.html)

venice2 21. Dez 2020 03:24

AW: Json unbekanntes feld abfangen
 
Zitat:

Zitat von mytbo (Beitrag 1479600)
Zitat:

Zitat von venice2 (Beitrag 1479577)
EDIT:
Ich kann jetzt so vorgehen.
Delphi-Quellcode:
  gChannels[i].qualities.stream_types := docqualities.S['stream_types'];
Dann bekomme ich aus der Json diese werte zurück.
Code:
"stream_types": [
   "dash",
   "dash_playready",
   "dash_widevine",
   "hls7",
   "hls7_fairplay"
],
Ist das so gedacht und korrekt?

Oder das Array als CSV so: docQualities.A['stream_types'].ToCSV

Bis bald...
Thomas

Delphi 2010 unterstützt das nicht (.ToCSV)
Aber ich werde mir mal den unterschied anschauen was dabei rauskommt.

mytbo 21. Dez 2020 11:38

AW: Json unbekanntes feld abfangen
 
Zitat:

Zitat von venice2 (Beitrag 1479607)
Delphi 2010 unterstützt das nicht (.ToCSV)

mORMot 1.18 ist von Delphi 7 bis Delphi 10.3.3 und FPC 3.2 freigegeben. Ich habe mein Beispiel jetzt mit Delphi 2007 und Delphi XE getestet. Es funktioniert! Delphi 2010 habe ich nicht installiert. Es sollte mich aber sehr wundern, wenn es nicht gehen würde.

Bis bald...
Thomas

venice2 21. Dez 2020 12:22

AW: Json unbekanntes feld abfangen
 
Zitat:

Zitat von mytbo (Beitrag 1479620)
Zitat:

Zitat von venice2 (Beitrag 1479607)
Delphi 2010 unterstützt das nicht (.ToCSV)

mORMot 1.18 ist von Delphi 7 bis Delphi 10.3.3 und FPC 3.2 freigegeben. Ich habe mein Beispiel jetzt mit Delphi 2007 und Delphi XE getestet. Es funktioniert! Delphi 2010 habe ich nicht installiert. Es sollte mich aber sehr wundern, wenn es nicht gehen würde.

Bis bald...
Thomas

Ja du hast recht.
docqualities.A['stream_types'].ToCSV <> docqualities.S['stream_types'].ToCSV
Deshalb ging es nicht. Danke

venice2 22. Dez 2020 07:18

AW: Json unbekanntes feld abfangen
 
Kann man mit der SynCommons prüfen ob Doppelte Einträge vorhanden sind?
Ich bekomme beim Einlesen immer 2 Einträge doppelt.

Deshalb sind die unteren 2 Einträge (Programme) falsch.

Wenn ich jedoch in Json schaue gibt es nur einen
Code:
"programs": [],
"cid": "klasik_tv_hr"
Frage mich warum der Einrag doppelt addiert wird.
Hier ist auf jedenfall ein Fehler.
Code:
         "cid": "cmc"
      },
      {
         "programs": [],
         "cid": "klasik_tv_hr"
      },
      {
         "programs": [
            {
               "i_url": "http://images.zattic.com/cms/b7a6d571dc8c1cc016f7/format_480x360.jpg",
               "e": 1608624000,
               "g": [
                  "Musik"
Bei
Code:
"programs": [],
"cid": "klasik_tv_hr"
Kategorie programs steht gar nichts. Wie soll man sowas abfangen.

TiGü 22. Dez 2020 09:00

AW: Json unbekanntes feld abfangen
 
Delphi-Quellcode:
if programs_bzw,_irgendein_JSON_Wert/Objekt/Array gleich leer then
  Diesen_Teil_ignorieren;

venice2 22. Dez 2020 10:34

AW: Json unbekanntes feld abfangen
 
Zitat:

Zitat von TiGü (Beitrag 1479663)
Delphi-Quellcode:
  Diesen_Teil_ignorieren;

Nun ja auf die Idee bin ich selbst schon gekommen.
Mit ignorieren ist es nicht getan denn ich muss ja dazwischen prüfen ob der Eintrag schon vorhanden ist.
Geht doch nur wenn man das Array nach dem erstellen neu dimensioniert. Oder?

Das Problem ist nicht das Arrays leer sind sondern das doppelte Einträge in der Json vorhanden sind.
Das wirft alles durcheinander.
Muss mal sehen wie ich die aussortieren kann.

Ist schwierig Array of Record neu zu dimensionieren. Ok wird schon


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:03 Uhr.
Seite 4 von 4   « Erste     234   

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