AGB  ·  Datenschutz  ·  Impressum  







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

Delphi und JSON

Ein Thema von Nebilim · begonnen am 5. Mai 2021 · letzter Beitrag vom 6. Mai 2021
Antwort Antwort
Nebilim

Registriert seit: 7. Jun 2019
Ort: Grafschaft B.
26 Beiträge
 
Delphi 10.3 Rio
 
#1

Delphi und JSON

  Alt 5. Mai 2021, 11:03
Delphi-Version: 10.3 Rio
Hi zusammen,

meine Kollegen und ich stellen uns gerade die Frage wie wir mit JSON in Delphi umgehen wollen und ich wollte mal das Schwarmwissen anzapfen und euch nach den für euch "best practices" lösungen fragen.

zur auswahl stehen bei uns:
- einmal eine selbstgeschriebene Delphiklasse (abgeleitet von Bad Response JSON KLasse) mit allen properties
- oder im ObjectInspector die Komponenten auf form,frame,datamodule zu ziehen und in den Komponenten alles einstellen wie felder etc.

es muss praktikabel für eine einfache datenklasse (auto) mit allen eigenschaften die dazugehören, auch unterklassen etc.
aber auch praktikabel für einen listenansicht mit mehreren 100 datensätzen (alle autos die heute noch produziert werden müssen)

ich bedanke mich schonmal für die hilfreiche diskussion hier =)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#2

AW: Delphi und JSON

  Alt 5. Mai 2021, 11:27
Ich verwende mORMot da kann man nichts falsch machen.
Frei und Open Source
  Mit Zitat antworten Zitat
Der schöne Günther

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

AW: Delphi und JSON

  Alt 5. Mai 2021, 12:13
Was genau willst du tun?

JSON ist ein super-simples Datenformat, da kann man nicht viel falsch machen. Alles was in Delphi unter System.JSON.* schon drin ist hat mir bis heute immer gereicht.

Dinge wie "Bad Response" oder "Listenansicht" hat mit JSON nichts zu tun, sondern was deine Anwendung macht (z.B. Kommunikation mittels http/REST mit einem Service, und ein Ergebnis dann in einem DB-Grid bringen).
  Mit Zitat antworten Zitat
TiGü

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

AW: Delphi und JSON

  Alt 5. Mai 2021, 13:55
Ich vermute hier liegt ein Begriffsungenauigkeit vor und es geht nicht explizit um JSON, sondern um die mitgelieferten REST-Komponenten (Request, Response, Client).
  Mit Zitat antworten Zitat
Nebilim

Registriert seit: 7. Jun 2019
Ort: Grafschaft B.
26 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Delphi und JSON

  Alt 6. Mai 2021, 13:06
ja genau das was TiGü sagt.

wie json funktioniert weiß ich. ich möchte wissen wie ihr eingehende json verarbeiten im quellcode

ich würde mir eine TClass erstellen mit den properties und evtl nötigen funktionen für das objekt und die komponenten selber erstellen mit ".create" und nicht auf ein formular legen und im OI die nötigen felder wie URL füllen.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.296 Beiträge
 
Delphi 12 Athens
 
#6

AW: Delphi und JSON

  Alt 6. Mai 2021, 13:15
Hallöle...

JSON zu Object:
Delphi-Quellcode:
class function TToolsJson.ObjectFromJson(aJson: string): TObject;
var
  UnMarshalObj: TJSONUnMarshal;
  JSONObject: TJSONObject;
begin
  Result := nil;
  UnMarshalObj := TJSONUnMarshal.Create;
  try
    JSONObject := TJSONObject.ParseJSONValue(aJson) as TJSONObject;
    try
      if Assigned(JSONObject) then
        Result := UnMarshalObj.Unmarshal(JSONObject);
    finally
      JSONObject.Free;
    end;
  finally
    UnMarshalObj.Free;
  end;
end;


class function TToolsJson.JsonFromObject(aValue: TObject): string;
var
  MarshalObj: TJSONMarshal;
  JSONObject: TJSONObject;
begin
  Result := '';
  MarshalObj := TJSONMarshal.Create;
  try
    JSONObject := MarshalObj.Marshal(aValue) as TJSONObject;
    try
      if Assigned(JSONObject) then
        Result := JSONObject.ToString;
    finally
      JSONObject.Free;
    end;
  finally
    MarshalObj.Free;
  end;
end;
  Mit Zitat antworten Zitat
TiGü

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

AW: Delphi und JSON

  Alt 6. Mai 2021, 13:38
ich würde mir eine TClass erstellen mit den properties und evtl nötigen funktionen für das objekt und die komponenten selber erstellen mit ".create" und nicht auf ein formular legen und im OI die nötigen felder wie URL füllen.
Ja, ist doch ein gangbarer Weg.
Mach einfach, dauert keine fünf Minuten.

Zum schnellen Testen klatsche ich mir die Komponenten auf die Form, stelle alles ein und dann per GeExperts-Funktion 'Components to Code' (oder halt manuell aus der DFM gepopelt) als Quelltext an die richtige Stelle kopiert.
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 13:46 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