Thema: Delphi JSon Formatieren

Einzelnen Beitrag anzeigen

hemmingway

Registriert seit: 29. Mär 2010
3 Beiträge
 
#23

AW: JSon Formatieren

  Alt 28. Okt 2021, 10: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
  Mit Zitat antworten Zitat