AW: JSon Formatieren
28. Okt 2021, 11:56
Für die formatierte Ausgabe mit Bordmitteln geht auch folgendes:
var Export := TExport.Create; // Das zu exportierende Object
var m := TJSONMarshal.Create(TJSONConverter.Create);
var SerializedExport := m.Marshal(Export) as TJSONObject;
var JSONString := SerializedExport.ToString;
SerializedExport.Free;
JSONString := StringReplace(JSONString, '\\', '', [rfReplaceAll]);
JSONString := StringReplace(JSONString, '"{', '{', [rfReplaceAll]);
JSONString := StringReplace(JSONString, '\"', '"', [rfReplaceAll]);
JSONString := StringReplace(JSONString, '\{', '{', [rfReplaceAll]);
JSONString := StringReplace(JSONString, '}"', '}', [rfReplaceAll]);
var memo := TStringList.Create;
memo.Text := JSONString;
memo.savetofile('d:\temp\export.json');
memo.free;
Export.Free;
Mit einem Viewer (z.B. den JSON Viewer von MITEC) lassen sich so auch komplexere Strukturen anzeigen.
Das ganze geht aber nur, wenn die ersetzten Strings nicht in den Daten vorhanden sind. Ein direktes Wiedereinlesen mit Unmarshal von TJSONObject ist nicht möglich.
Viele Grüße, Bernhard
|