Aktuelle Zeit: 01.10.2020 09:55

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags: Re: PHP JSON != SpiderBasic JSON?
BeitragVerfasst: 02.08.2020 13:07 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:53
@Kurzer: wenn es Groß/Kleinschreibung nicht ankommt, dass Flag #PB_JSON_NoCase verwenden:
https://www.purebasic.com/documentation ... ejson.html

_________________
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP JSON != SpiderBasic JSON?
BeitragVerfasst: 02.08.2020 15:23 
Offline
Benutzeravatar

Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg
Danke für den Hinweis, didge.

Prinzipiell habe ich kein Problem damit, dass die Strukturfelder so heißen müssen wie die Feldbezeichner im JSON. Ich finde es nur unerwartet und es steht leider auch nicht in der Hilfe beschrieben.

Generell dachte ich, dass die JSON-Elemente in eine "egal wie benannte" Struktur extrahiert werden können und es dabei nur darauf ankommt, dass die Strukturelemente den zur JSON Struktur passenden Datentypen haben. Letztendlich ist eine Struktur ja nur ein Stück Speicher der über (im Quellcode) benannte Offset angesprochen wird. Dass der Name der Strukttufelder zur Laufzeit überhaupt noch relevant ist, habe ich nicht erwartet. Ich dachte der Compiler macht da intern eine anonyme Offset-Tabelle draus.

In PureBasic läuft es mit ExtractJSONxyz() übrigens genau so wie in SpiderBasic, was ich noch weniger erwarten würde. Dort gibt's ja keine Javascript-Konventionen, die der PB Compiler evtl. beachten müsste. Und auch dort ist kein Hinweis in der Hilfe zu finden, dass die Feldnamen der PB Struktur mit den Feldbezeichnungen im JSON übereinstimmen müssen.

https://www.purebasic.com/documentation/json/extractjsonlist.html

Wenn Du das Beispiel aus der Hilfe nimmst und die Felder x und y in der Strukturdefinition (und in der Debugzeile) änderst, dann funktioniert es nicht mehr.

_________________
"Never run a changing system!"
PB 5.72 x64, OS: Windows 7 Pro x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Ich bin Baujahr 1968, also aktuell 52.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP JSON != SpiderBasic JSON?
BeitragVerfasst: 02.08.2020 15:57 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
nunja, irgendwo muss ja eine Zuweisung JSON -> Struktur erfolgen. Da die Reihenfolge der JSON-Objekte innerhalb eines Knotens beliebig sein kann und JSON case-sensitive ist, kann die Zuweisung nur über case-sensitive Benennung in der Struktur erfolgen.

Grüße ... Peter

_________________
Schrödingers Smiley :):


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP JSON != SpiderBasic JSON?
BeitragVerfasst: 02.08.2020 15:59 
Offline
Benutzeravatar

Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg
User #Null hat's erklärt.
https://www.purebasic.fr/english/viewtopic.php?f=13&t=75795

JSON beachtet die Reihenfolge der Elemente unter Umständen nicht. Somit können sich PB und SB nicht auf die Reihenfolge der im JSON-String enthaltenen Elemente verlassen. Eine korrekte Zuordnung zur einer Struktur ist daher nur möglich, wenn man das über den Namen der Strukturfelder abgleichen kann. Macht Sinn.

EDIT: Kiffi war schneller. :D

_________________
"Never run a changing system!"
PB 5.72 x64, OS: Windows 7 Pro x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Ich bin Baujahr 1968, also aktuell 52.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ]  Gehe zu Seite Vorherige  1, 2

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye