Httpclient:send() - JSON2Var()

Vom Front-End bis SOAP.

Moderator: Moderatoren

Antworten
Chris
UDF-Programmierer
UDF-Programmierer
Beiträge: 51
Registriert: Fr, 17. Feb 2006 8:51
Wohnort: München
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Httpclient:send() - JSON2Var()

Beitrag von Chris »

Hallo Zusammen,

ich habe in der Version 2158 folgendes Problem. Mittels HttpClient sende ich einen Get-Request an einen Webservice und erhalte Daten zurück. Beispielsweise eine Adresse. Diese kommt zurück und ich kann mittels send() das ganze in einer Variable ablegen und als Datei speichern. Soweit auch alles in Ordnung. Wenn in der Straße ein Umlaut oder Sonderzeichen vorkommt, wird dies auch entsprechend maskiert.

Code: Alles auswählen

Industriestra\u00dfe 13
Wenn ich danach die Variable durch JSON2Var() in ein DataObject umwandeln lasse habe ich das Problem dass die maskierte Strasse als Leerstring erscheint und nicht korrekt umgewandelt wird.

Hat hier jemand einen Lösungsansatz wie ich den korrekten Wert in das DataObject bekomme? Muss hier ggf. vorab noch etwas umgewandelt werden?

Danke schon mal.

Gruß,
Christian
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9516
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 113 Mal
Danksagung erhalten: 388 Mal
Kontaktdaten:

Re: Httpclient:send() - JSON2Var()

Beitrag von Tom »

Json2Var() kann m.E. keinen Unicode. Du musst also die Rückgabe umwandeln, das kannst Du auch mit dem kompletten Json als String in einem Aufwasch machen (Unicode2Str()).
Herzlich,
Tom
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14726
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 24 Mal
Danksagung erhalten: 95 Mal
Kontaktdaten:

Re: Httpclient:send() - JSON2Var()

Beitrag von Jan »

Moin,

Json2Var() erfordert den JSON-String zwingend in UTF-8. Alles andere klappt nicht oder führt sogar zu einem Laufzeitfehler.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Chris
UDF-Programmierer
UDF-Programmierer
Beiträge: 51
Registriert: Fr, 17. Feb 2006 8:51
Wohnort: München
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Httpclient:send() - JSON2Var()

Beitrag von Chris »

Hallo, ich tausche jetzt die entsprechenden Zeichen um. Damit komm ich erst mal hin. Unicode2Str hat mir nicht geholfen in dem Fall. Trotzdem Danke.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14726
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 24 Mal
Danksagung erhalten: 95 Mal
Kontaktdaten:

Re: Httpclient:send() - JSON2Var()

Beitrag von Jan »

Hallo Chris,

was ist denn das für ein String, den Du vom Webservice zurück bekommst? Unicode? UTF-8? ANSI? Sonstwas?

Wenn das UTF-8 ist (was im Web Standard ist) mußt Du gar nichts machen. Wenn das ANSI oder ASCII ist gibt es Char2Utf8(cText). Ist das Unicode ist der Weg etwas mühseliger, weil es keine Funktion für Unicode direkt nach UTF-8 gibt. Dann also ein Char2Utf8(Unicode2Str(cText)).

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9516
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 113 Mal
Danksagung erhalten: 388 Mal
Kontaktdaten:

Re: Httpclient:send() - JSON2Var()

Beitrag von Tom »

Es ist Unicode. Das sieht man doch im Beispiel.
Herzlich,
Tom
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14726
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 24 Mal
Danksagung erhalten: 95 Mal
Kontaktdaten:

Re: Httpclient:send() - JSON2Var()

Beitrag von Jan »

Hallo Tom,

in dem Fall habe ich das Eingangsposting mißverstanden. Ich hatte das so interpretiert daß der String NACH dem manuellen maskieren so aussieht.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Antworten