AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language REST.Json.TJson.ObjectToJsonString formatiert ausgeben?
Thema durchsuchen
Ansicht
Themen-Optionen

REST.Json.TJson.ObjectToJsonString formatiert ausgeben?

Ein Thema von TiGü · begonnen am 26. Aug 2015 · letzter Beitrag vom 7. Dez 2015
Antwort Antwort
Seite 1 von 2  1 2      
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#1

REST.Json.TJson.ObjectToJsonString formatiert ausgeben?

  Alt 26. Aug 2015, 10:53
Delphi-Version: XE7
Hallo zusammen,

zwecks diverser Konfigurationseinstellungen speichere ich mir Datentransferobjekte per REST.Json.TJson.ObjectToJsonString in einen String, der dann über eine TStringList auf der Festplatte landet

Wenn ich die entstandene Json-Datei per Editor, in diesen Fall Notepad++, öffne, dann steht der ganze JSON-String in einer Zeile.

Zwar kann man sich über die Notepad++-Erweiterung JSTool ganz leicht den JSON-String schön formatieren, aber kann ich nicht schon im Programmcode mit wenig Aufwand den JSON-String formatieren?
Gibt es da schon was fertiges im Emba-Framework?
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: REST.Json.TJson.ObjectToJsonString formatiert ausgeben?

  Alt 26. Aug 2015, 11:01
Gibt es da schon was fertiges im Emba-Framework?
Nein, leider nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: REST.Json.TJson.ObjectToJsonString formatiert ausgeben?

  Alt 26. Aug 2015, 11:10
Klar gibt es das:
Delphi-Quellcode:
function GetFormattedJson(AObject:TObject) : string
begin
  LJson := REST.Json.TJson.ObjectToJsonObject( AObject );
  try
    Result := REST.Json.TJson.Format( LJson );
  finally
    LJson.Free;
  end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: REST.Json.TJson.ObjectToJsonString formatiert ausgeben?

  Alt 26. Aug 2015, 11:38
Wenn es Sir Rufo nicht geben würde, man müsste ihn glatt erfinden!

Zwar ist das Ergebnis nicht ganz so hübsch, aber auf jeden Fall besser lesbarer und von Menschen bearbeitbarer (was für ein Wort!), als zuvor.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: REST.Json.TJson.ObjectToJsonString formatiert ausgeben?

  Alt 26. Aug 2015, 11:44
Wobei das eigentlich nicht der Sinn von json ist.
Markus Kinzler
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: REST.Json.TJson.ObjectToJsonString formatiert ausgeben?

  Alt 26. Aug 2015, 11:45
Tja. Als ich das mal wollte, suchte ich auf StackOverflow nach "Delphi json prettyprint" und der dort allmächtige David Heffernan sagte "Nö, gibt's nicht".

Anstatt das kritisch zu hinterfragen legte ich die Hände in den Schoß und akzeptierte es. Was sagt das nur über mich aus?
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: REST.Json.TJson.ObjectToJsonString formatiert ausgeben?

  Alt 26. Aug 2015, 11:55
Wobei das eigentlich nicht der Sinn von json ist.
Ist ja auch erstmal nur für mich und allmal besser als INI- oder XML-Dateien.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: REST.Json.TJson.ObjectToJsonString formatiert ausgeben?

  Alt 26. Aug 2015, 11:57
Was sagt das nur über mich aus?
Das du zu faul warst, das Delphi-Forum deiner Wahl zu konsultieren?
Bzw. die Antworten auf SO über denen der DP stellt?

  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: REST.Json.TJson.ObjectToJsonString formatiert ausgeben?

  Alt 26. Aug 2015, 12:07
Anstatt das kritisch zu hinterfragen legte ich die Hände in den Schoß und akzeptierte es. Was sagt das nur über mich aus?
Typisches Weißkittel-Syndrom

Ich bin so erzogen worden, dass Menschen mit einem weißen Kittel nur Menschen mit einem weißen Kittel sind. Und die haben die absolute Wahrheit und Weisheit genauso wenig gepachtet wie ich.

Es vereinfacht auch das Miteinander, wenn man jedem das Recht auf Unwissen und Irrtum belässt
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.995 Beiträge
 
Delphi 12 Athens
 
#10

AW: REST.Json.TJson.ObjectToJsonString formatiert ausgeben?

  Alt 26. Aug 2015, 13:11
Tja. Als ich das mal wollte, suchte ich auf StackOverflow nach "Delphi json prettyprint" und der dort allmächtige David Heffernan sagte "Nö, gibt's nicht".
Wobei ich jetzt nicht sicher sagen kann, ob das damals schon drin war.

David's Präsenz dort ist schon manchmal unheimlich. Ich frage mich manchmal, was er sonst so überhaupt noch macht. Da er allerdings viele Dinge selbst implemenentiert, um von RTL und VCL unabhängig zu sein (weil das zumindest in der Vergangenheit nicht immer so funktionierte, wie er das wollte), sind seine Kenntnisse gerade in diesem Bereich nicht immer auf dem neuesten Stand.

Zugegeben, den vollen Leistungsumfang allein der RTL immer im Kopf parat zu haben, ist schon eine sportliche Herausforderung.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz