Alles funktioniert, bis auf die Umlaute, die aus der Unicode-Notierung nicht korrekt in das entsprechende Zeichen übertragen werden.
So sieht es aus:
Ein PHP-Script gibt mir den JSON-String zurück (input$). Da es sich um eine Version 5.3 handelt, steht leider der neue Parameter in JSON_ENCODE() "JSON_UNESCAPED_UNICODE" (erst ab PHP Version 5.4) mit dem dann auch die Umlaute in PB funktionieren.
leider habe ich auf dem System aber kein PHP 5.4 zur Verfügung und eigentlich müßte die PB-Interne JSON-Verwaltung doch auch mit Escapten-Unicode-Zeichen klarkommen.
Zum Beispiel:
Alles was im input$ steht, wird vom Webservice geliefert. Wie gesagt: PHP 5.3! Nimmt PHP diesen String entgegen wird durch JSON_Decode() wieder ein "ü" hergestellt. PB macht das jedoch nicht.
Ist das nun ein Bug, ein "Feature" oder hab ich etwas übersehen oder vergessen?
Hier ist ein Beispiel:
Code: Alles auswählen
Input$ = "[{'id':'60542','vorname':'Monika','nachname':'Berns','str':'G\u00fcrsterkamp 1','plz':'12345','ort':'Mustermannshausen','mail':'Berns7@t-online.de','telefon':'','notiz':''}]"
Structure _l
id.s
vorname.s
nachname.s
str.s
plz.s
ort.s
mail.s
tel.s
notiz.s
EndStructure
NewList L._l()
input$=ReplaceString(input$,"'",Chr(34))
ParseJSON(0, Input$)
ExtractJSONList(JSONValue(0), l())
ForEach l()
Debug l()\id+" "+l()\nachname+" "+l()\str
Next
Debug "-----"
Debug "Soll: Gürsterkamp"