Habe folgendes Problem, welches ich, auch nach längerer Recherche, nicht lösen konnrw, und hoffe auf Eure Hilfe:
- ich erstelle ein JSON mittels JSONStreamer aus einem TObject
- Felder, welche String-Typen sind, können Umlaute oder Sonderzeichen enthalten
- Diese sind dann im JSON ohne entsprechende Umwandlung auch so darin enthalten
- Beim zurückschreiben kommt dann eine entsprechende Fehlermeldung, sobald Sonderzeichen vorkommen
function ObjToJSON(AObject: TObject): String;
var Streamer: TJSONStreamer;
begin
Result:= '';
Streamer := TJSONStreamer.Create(nil);
try
Streamer.Options := Streamer.Options + [jsoEnumeratedAsInteger, jsoTStringsAsArray,
jsoLowerPropertyNames, jsoDateTimeAsString, jsoUseFormatString];
if Not(AObject = Nil) then
Result:= Streamer.ObjectToJSONString(AObject);
finally
Streamer.Free;
end;
end;
procedure JSONToObj(AJson: String; AObject: TObject);
var Streamer: TJSONDeStreamer;
begin
Streamer := TJSONDeStreamer.Create(nil);
try
if Not(AObject = Nil) then
try
Streamer.Options:= Streamer.Options + [ jdoCaseInsensitive, jdoIgnorePropertyErrors ];
Streamer.JSONToObject(AJson, AObject);
except
end;
finally
Streamer.Free;
end;
end;
Beispiel-JSON:
{
"abrechnungsweg" : 1,
"email" : "xxx@xxxx",
"fachrichtung" : 0,
"fax" : "xxxxx-xxx",
"fon" : "xxxxx-xxx",
"kvbereich" : "",
"kvnr" : "",
"kzvbereich" : "02",
"kzvnr" : "123456",
"ort" : "Testort",
"plz" : "123456",
"praxisart" : 0,
"praxisname" : "Testpraxis",
"stempelname" : "Testpraxis äÖü",
"strasse" : "Teststrasse",
"url" : "test.de",
"ustid" : "",
"xmlnr" : "34701"
}
Hoffe, dass mir jemand helfen kann.
Update:
Hat sich erledigt, Problem lag in der Synopse SQLite.
JSON, Umlaute
Für Fragen von Einsteigern und Programmieranfängern...
Antworten
1 Beitrag
• Seite 1 von 1
Gehe zu
- Ankündigungen/Allgemeines
- ↳ Ankündigungen
- ↳ Allgemeines
- ↳ Regionale Gruppen
- Lazarus-IDE
- ↳ Installation
- ↳ Windows
- ↳ Linux
- ↳ Sonstige
- ↳ Benutzung der IDE
- Programmierung
- ↳ Einsteigerfragen
- ↳ Freepascal
- ↳ Komponenten und Packages
- ↳ Datenbanken
- ↳ Multimedia
- ↳ Netzwerk
- ↳ Sonstiges
- API & Plattformspezifisches
- ↳ Windows
- ↳ Linux
- ↳ MacOS
- ↳ Windows mobile
- ↳ Raspberry Pi & Co.
- ↳ AVR, Arduino & Co.
- ↳ Android
- ↳ Pas2js
- MSEide + MSEgui
- ↳ MSEide und MSEgui
- Projekte
- ↳ Programme
- ↳ Units/Komponenten
- WissensDB
- ↳ WissensDB
- ↳ Tutorialserie Linux
- ↳ Installation
- ↳ Werkzeuge
- ↳ Diverse Anleitungen
- Sonstiges
- ↳ Lazarus - Bugs
- ↳ Unterstützung Lazarusproject
- ↳ Programmierung
- ↳ Dies und Das
- ↳ Vorstellungen