AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

JSon Formatieren

Ein Thema von EWeiss · begonnen am 24. Feb 2018 · letzter Beitrag vom 4. Nov 2021
Antwort Antwort
Seite 1 von 3  1 23      
EWeiss
(Gast)

n/a Beiträge
 
#1

JSon Formatieren

  Alt 24. Feb 2018, 11:41
Unter XE wäre das eine Lösung.
Delphi-Quellcode:
program jsonformatter;
 
{$APPTYPE CONSOLE}
 
{$R *.res}
 
uses
  System.SysUtils,
  rest.json,
  system.json;
 
var
  LJSONObject : TJSONObject;
  jsonString : String;
  resultStr : String;
begin
  try
    jsonString := '{"menu": { "id": "file", "value": "File", "popup": {"menuitem": [{"value": "New", "onclick": "CreateNewDoc()"},{"value": "Open", "onclick": "OpenDoc()"},{"value": "Close", "onclick": "CloseDoc()"}]}}}';
    LJSONObject := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(jsonString), 0) as TJSONObject;
    resultStr := REST.Json.TJson.Format(LJSONObject);
    writeln(resultStr);
    readln;
    { TODO -oUser -cConsole Main : Insert code here }
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
Habe aber kein XE sondern D2010..
Hat vielleicht jemand dafür eine Praktikable Lösung um JSon zu formatieren?

Meine Datei sieht als Bsp. so aus.
Zitat:
{"page":1,"total_results":6,"total_pages":1,"resul ts":[{"vote_count":13,"id":23114,"video":false,"vote_av erage":6.6,"title":"Der kleine Lord","popularity":4.214607,"poster_path":"\/nHScGmwreC5JuAKUZYr9gEhkkU8.jpg","original_languag e":"en","original_title":"Little Lord Fauntleroy","genre_ids":[18,10751],"backdrop_path":"\/hREgoyvqKnCgNg7AJwRvDhuWX1G.jpg","adult":false,"ov erview":"Seit dem Tod seines englischen Vaters lebt der junge Cedric allein mit seiner Mutter in Brooklyn. Eines Tages erhält er Nachricht von seinem Großvater, dem Earl von Dorincourt, der seinerzeit Cedrics Vater wegen der Heirat mit Cedrics Mutter verstoßen hatte. Cedric ist der einzige lebende Nachkomme des Earls und soll nun bei ihm auf sein Erbe vorbereitet werden. Auch die Mutter darf mit nach England reisen, muss aber unter den Hausangestellten leben. Schon bald schließt der alte Earl den ebenso intelligenten wie höflichen Cedric ins Herz. Doch da meldet unerwartet eine andere Partei Ansprüche auf das Erbe an.","release_date":"1936-03-06"},{"vote_count":44,"id":38602,"video":false,"vo te_average":7,"title":"Der kleine Lord","popularity":4.176422,"poster_path":"\/9YAN1UW0ziDojl65Ou2cJbieZOo.jpg","original_languag e":"en","original_title":"Little Lord Fauntleroy","genre_ids":[10770,10751,18],"backdrop_path":"\/8T59a0IHQBLXZ5s18tycclL5vT.jpg","adult":false,"ove rview":"Der siebenjährige Cedric Errol lebt mit seiner amerikanischen Mutter in sehr bescheidenen Verhältnissen. Eines Tages taucht ein Mann auf und erklärt, dass Cedric der einziger Erbe des Titels und Vermögens seines Großvaters ist. Cedric soll den Titel Lord Fauntleroy erhalten und im Schloss des Großvaters leben und erzogen werden.","release_date":"1980-11-25"},{"vote_count":0,"id":374369,"video":false,"vo te_average":0,"title":"Der kleine Lord","popularity":1.001648,"poster_path":null,"or iginal_language":"de","original_title":"Der kleine Lord","genre_ids":[10751],"backdrop_path":null,"adult":false,"overview":"Ei n deutsches Film-Drama","release_date":"1962-12-24"},{"vote_count":1,"id":377104,"video":false,"vo te_average":5,"title":"Der Kleine Lord","popularity":1.053292,"poster_path":null,"or iginal_language":"it","original_title":"Il Piccolo Lord","genre_ids":[],"backdrop_path":null,"adult":false,"overview":"De r elfjährige Christian lebt mit seiner italienischen Mutter Gioia in armen Verhältnissen auf der Insel Ischia. Sein deutscher Vater starb während eines Rettungseinsatzes noch bevor Christian auf die Welt kam. Der freundliche Junge hatte ein unauffälliges und ruhiges Leben, bis ihn eines Tages sein Großvater Carl Schneibel findet. Carl Schneibel ist ein reicher Geschäftsmann, der Christian noch nie zuvor zu Gesicht bekommen hat. Da der alte einsame Mann keinen Erben hat, entscheidet er, dass er Christian aufnimmt und ihm eine gute Ausbildung zukommen lässt. Da er auch nie einer Meinung mit seinem Sohn und der Wahl seiner Frau war, entscheidet er, dass Gioia nicht mitkommen kann. Trotzdem will Gioia nicht dem Glück ihres Sohnes im Weg stehen und lässt ihn gehen. Dank seines großes Herzens und seiner netten Art gewinnt Christian das Herz seines Großvaters und verändert sein komplettes Leben","release_date":"1996-12-18"},{"vote_count":1,"id":377137,"video":false,"vo te_average":6,"title":"Der Kleine Lord - Retter in der Not","popularity":1.036868,"poster_path":"\/nvxeajudLFNXD7cPj4oCOVg7DAy.jpg","original_languag e":"it","original_title":"Il Ritorno del piccolo lord","genre_ids":[],"backdrop_path":null,"adult":false,"overview":"Ch ristian lebt seit dem Tod seines Vaters bei seinem Großvater, dem wohlhabenden Brauerei-Betreiber Carl Schneibel. Gemeinsam verbringen Großvater und Enkel die Ferien auf der Insel Ischia bei Christians italienischer Mama Gioia. Carl lernt dort die charmante Veronica kennen und lädt sie arglos ins heimische Schlösschen in Bayern. Was er nicht ahnt: Veronica ist eine international gesuchte Betrügerin, die den Unternehmer durch geschickte Computer-Manipulationen nach und nach um sein gesamtes Vermögen bringt. Verbittert und verarmt reist Carl erneut nach Ischia, um sich von dem Schock zu erholen. Enkel Christian nutzt derweil seinerseits die Möglichkeiten des Internets, um Veronica dingfest zu machen.","release_date":"2000-12-15"},{"vote_count":0,"id":109537,"video":false,"vo te_average":0,"title":"Entführt","popularity":1.87 3076,"poster_path":"\/9d7Zul9qSmQDrgTRfdM9YEMvh0d.jpg","original_languag e":"en","original_title":"Kidnapped","genre_ids ":[12,18],"backdrop_path":"\/4sHgdXFkakJjclm8mBgcRkWWYao.jpg","adult":false,"ov erview":"Handlung: Nach dem Tod seines Vaters sucht der junge David Balfour (FREDDIE BARTHOLOMEW) seinen Onkel Ebenezer (MILES MANDER), einen alten und kauzigen Mann auf, um bei ihm zu leben. Weil die Brüder so unterschiedlich erscheinen, forscht David nach seiner Herkunft und erfährt, daß das Anwesen eigentlich seinem Vater gehörte, doch noch bevor David sein Recht einfordern kann, läßt ihn Ebenezer entführen und verschleppen. Zwischen all den gefährlichen Männern an Bord, bringt es David unter vielen Gefahren zum Kabinensteward, als man nach einer Kollision den Schotten Alan Breck (WARNER BAXTER) aus der See fischt, der nach Schottland zurück will...","release_date":"1938-05-27"}]}
Das kann aber niemand vernünftig lesen.

gruss

Geändert von EWeiss (24. Feb 2018 um 11:43 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

AW: JSon Formatieren

  Alt 24. Feb 2018, 12:18
https://stackoverflow.com/questions/...json-in-delphi
Die Lösung mit der SynCommons.pas aus dem mORMot-Framework scheint mir ein gangbarer Weg zu sein.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: JSon Formatieren

  Alt 24. Feb 2018, 12:29
https://stackoverflow.com/questions/...json-in-delphi
Die Lösung mit der SynCommons.pas aus dem mORMot-Framework scheint mir ein gangbarer Weg zu sein.
Das scheint mir aber ein Part eines Framework zu sein und alleine wird sie wohl nicht funktionieren.
Danke.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: JSon Formatieren

  Alt 24. Feb 2018, 12:34
https://stackoverflow.com/questions/...json-in-delphi
Die Lösung mit der SynCommons.pas aus dem mORMot-Framework scheint mir ein gangbarer Weg zu sein.
Das scheint mir aber ein Part eines Framework zu sein und alleine wird sie wohl nicht funktionieren.
Schon ausprobiert? Und was stört daran das nicht nur eine JSON-Unit sondern ein paar Units für RTTI/Extended RTTI gezogen werden.
Du wirst nicht das ganze Framework in deine Exe reinkompilieren müssen.

Wenn man schon eine solche antike Delphi-Version im Einsatz hat, muss man halt damit leben das zu nutzen was noch dafür entwickelt wird.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

AW: JSon Formatieren

  Alt 24. Feb 2018, 12:39
In so einem Fall binde ich die entsprechende Unit einfach ein und schaue mir die Compiler-Fehler an. Die fehlenden Units binde ich dann ebenfalls ein, im Normalfall sind das nur eine Handvoll. Alternativ (wenn ich nur eine einzige Routine brauche) kopiere ich den entsprechenden Code einfach heraus (mit einem Kommentar, wo es herkommt), ggf. mit weiteren benötigten Routinen. Das ist üblicherweise kein großer Aufwand.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: JSon Formatieren

  Alt 24. Feb 2018, 12:42
Ich lade kein Framework mit 25MB nur um JSon zu formatieren.
Dann lass ich es so wie es ist.

In so einem Fall binde ich die entsprechende Unit einfach ein und schaue mir die Compiler-Fehler an. Die fehlenden Units binde ich dann ebenfalls ein, im Normalfall sind das nur eine Handvoll. Alternativ (wenn ich nur eine einzige Routine brauche) kopiere ich den entsprechenden Code einfach heraus (mit einem Kommentar, wo es herkommt), ggf. mit weiteren benötigten Routinen. Das ist üblicherweise kein großer Aufwand.
Jo das könnte ich mal versuchen.

EDIT:
Kein Chance.. die Unit scheint die Base für das Framework zu sein und ist nebenbei 2,5MB groß.
Das auseinander zu pflücken ist zu viel aufwand.

gruss

Geändert von EWeiss (24. Feb 2018 um 12:49 Uhr)
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#7

AW: JSon Formatieren

  Alt 24. Feb 2018, 12:49
https://github.com/ahausladen/JsonDataObjects
- das ist ab D2009... wird also mit D2010 wohl funktionieren
- von Mr. Hausladen, kompakt und abgeschlossen und der weiß definitiv was in Delphi gut funktioniert und was man besser nicht macht

Geändert von mensch72 (24. Feb 2018 um 12:52 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: JSon Formatieren

  Alt 24. Feb 2018, 13:10
https://github.com/ahausladen/JsonDataObjects
- das ist ab D2009... wird also mit D2010 wohl funktionieren
- von Mr. Hausladen, kompakt und abgeschlossen und der weiß definitiv was in Delphi gut funktioniert und was man besser nicht macht
Danke und jain..
DUnitTestRunner gibt es nicht (vom Test Projekt)
Kann ich also vorher nicht prüfen ob es für mich verwendbar ist.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: JSon Formatieren

  Alt 24. Feb 2018, 13:17
Danke und jain..
DUnitTestRunner gibt es nicht (vom Test Projekt)
Kann ich also vorher nicht prüfen ob es für mich verwendbar ist.
Hmmmm.

Wie wäre es dann wenn dir das DUnit-Framework auch herunter lädst, wenn du die Verwendbarkeit über die Unit-Tests prüfen willst?

Oder einfach versuchst mit dem Quellcode des obige Beispiel, das du selbst gepostet hast, zum laufen zu bekommen?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#10

AW: JSon Formatieren

  Alt 24. Feb 2018, 13:23
Zitat:
Wie wäre es dann wenn dir das DUnit-Framework auch herunter lädst, wenn du die Verwendbarkeit über die Unit-Tests prüfen willst?
Hätte ich es nicht von Mr. Hausladen herunter geladen könnte ich nicht behaupten das es nicht läuft oder?

Zitat:
Oder einfach versuchst mit dem Quellcode des obige Beispiel, das du selbst gepostet hast, zum laufen zu bekommen?
Weil ich kein DX habe und somit über rest.json und system.json nicht verfüge.

Ansonsten wäre das natürlich genau das was ich brauchte string übergeben und fertig.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 23:43 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