Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi JSON-Parser: Erkennungszeichen ergänzen??? (https://www.delphipraxis.net/143649-json-parser-erkennungszeichen-ergaenzen.html)

romber 20. Nov 2009 09:38


JSON-Parser: Erkennungszeichen ergänzen???
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!

Der Titel hört sich etwas missverständlich an, aber die Sache ist folgende:
Ich bekomme von einer Schnittstelle Daten im XML-Format. Diese Schnittstelle bietet eine Möglichkeit die selben Daten auch im JSON-Format zu erhalten, wenn man den HTTP-Header ensprechend modifiziert. Und tatsächlich werden dann die Daten im JSON-Format ausgegeben, jedoch mit einem Hacken: vor den üblichen Anführungszeichen steht immer ein Backslash. So: \"

Der Parser, den ich verwende kommt damit natürlich nicht klar. Ich muss die empfangenen Daten zuerst durchgehen und jede Stelle ersetzen und erst dann in den Parser laden. Je nach dem wie groß die Daten sind dauert dieses Ersetzen manchmal einige Sekunden. Ich habe mir gedacht, man könnte den Parser so überarbeiten, dass er die Kombination aus "\ erkennt und annimmt. Aber leider schnlugen alle meine Versuche, den Parser zu modifizieren, fehl.

Ich benutze den Parser "uJSON" von Fabio Almeida. Die Datei habe ich angehängt. Bitte hilft mir den Parser so zu ändern, dass Kombination "\ im JSON als " angenommen wird. Vielen Dank!!!

Bernhard Geyer 20. Nov 2009 09:47

Re: JSON-Parser: Erkennungszeichen ergänzen???
 
Zitat:

Zitat von romber
... jedoch mit einem Hacken: vor den üblichen Anführungszeichen steht immer ein Backslash. So: \"

Melde das dem Entwickler der Schnitstelle. Sieht verdammt nach einem Implementierungsfehler aus.

romber 20. Nov 2009 10:10

Re: JSON-Parser: Erkennungszeichen ergänzen???
 
Zitat:

Zitat von Bernhard Geyer
Melde das dem Entwickler der Schnitstelle. Sieht verdammt nach einem Implementierungsfehler aus.

Habe ich gemacht. Der meinte, die JSON-Variante ist für ein ganz bestimmtes Zweck gedacht, wurde bewusst so implementiert und steht nur in dieser Variante zur Verfügung. Ist also kein Bug.

himitsu 20. Nov 2009 10:15

Re: JSON-Parser: Erkennungszeichen ergänzen???
 
Zitat:

Ich muss die empfangenen Daten zuerst durchgehen und jede Stelle ersetzen ...
StringReplace?

Dann sollte er aber auch darauf hinweisen, daß seine JSON-Implementation sich nicht an die Richtlinien für diese Schnittstelle hält.

romber 20. Nov 2009 10:16

Re: JSON-Parser: Erkennungszeichen ergänzen???
 
Ja, mit StringReplace.

Bernhard Geyer 20. Nov 2009 10:20

Re: JSON-Parser: Erkennungszeichen ergänzen???
 
Zitat:

Zitat von romber
Habe ich gemacht. Der meinte, die JSON-Variante ist für ein ganz bestimmtes Zweck gedacht, wurde bewusst so implementiert und steht nur in dieser Variante zur Verfügung. Ist also kein Bug.

Dann dürfen sie es nicht JSON nennen sonden "Sowas Ähnliches wie JSON das Fehler hat damit es bei fehlerhaften Consumer funktioniert". Bei JSON ist klar definiert das \" nur als Escapesequenz in einem String vorkommen darf!
Hilft dir zwar nicht, aber so fangen Probleme bei so klaren definitionen wie JSON wieder an weil sich manche nicht an die Spec halten.

romber 20. Nov 2009 10:27

Re: JSON-Parser: Erkennungszeichen ergänzen???
 
Zitat:

Zitat von Bernhard Geyer
[...aber so fangen Probleme bei so klaren definitionen wie JSON wieder an weil sich manche nicht an die Spec halten.

Das stimmt. Nur kann ich nicht viel ändern mit der Schnittstelle, würde aber gerne die Daten trotzdem als JSON parsen. Komme aber nicht weiter.

generic 20. Nov 2009 10:48

Re: JSON-Parser: Erkennungszeichen ergänzen???
 
Der Slash wird sicherlich von einer schlecht konfigurierten PHP Installation kommen.
Dort ist die Magic Quotes Runtime an!

taveuni 20. Nov 2009 10:51

Re: JSON-Parser: Erkennungszeichen ergänzen???
 
Was ist denn mit dem fastest Json Parser for Delphi ?

romber 20. Nov 2009 10:54

Re: JSON-Parser: Erkennungszeichen ergänzen???
 
Zitat:

Zitat von taveuni
Was ist denn mit dem fastest Json Parser for Delphi ?

Habe ich nicht probiert. Würde es mein Problem lösen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr.
Seite 1 von 2  1 2      

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