![]() |
JSON & Delphi XE5
Hallo zusammen,
ich bin auf der Suche nach einer Möglichkeit JSON-Daten zu verarbeiten. Ich habe auch schon verschiedene Library's gefunden, die waren aber alle nicht Delphi XE5 kompatibel. Jetzt ist meine Frage, kennt Ihr eine Delphi-Library, die mit Delphi XE5 funktioniert und eventuell kostenlos ist ? Mit einem REST-Client habe ich es auch schon probiert, hatte aber leider keinen Erfolg dabei die Daten abzurufen. Habe immer den Fehler 403 bekommen. Sollte es nur über einen REST-Client gehen, dann wäre es nett, wenn Ihr mir ein paar Links zu Tutorials für Delphi XE5 zur Verfügung stellen könntet. |
AW: JSON & Delphi XE5
SuperObject sollte auch mit XE5 kompatibel sein.
![]() |
AW: JSON & Delphi XE5
War nicht das JSON eine DER NEUERUNGEN in XE5? Außer Android natürlich...
|
AW: JSON & Delphi XE5
Hi,
ja, XE5 bietet eine eigene Json Implementierung - wenn ich mich richtig erinnere uses Rest.Json; Zumindest gestern hat das recht gut funktioniert ;-) Grüße |
AW: JSON & Delphi XE5
In der Unit Data.DBXJSONReflect gibt es TJSONMarshal und TJSONUnMarshal. Man beachte, dass dabei wegen TEncoding keine TStringList direkt gemarshalled werden kann, dafür gibt es TSerStringList.
Das ist aber auch nicht neu in XE5. // EDIT: Ach so, ja die Kapselung in Rest.Json kann neu sein, die hatte ich vorher zumindest nicht gesehen. Die Einschränkung bzgl. TEncoding gilt da genauso, weil die auch nur TJSONMarshal usw. nutzt. |
AW: JSON & Delphi XE5
Das hier sollte auch unter XE5 funktionieren:
![]() Bei dem eingebauten DBXJSON schreckt mich immer das viele rumgecaste ab.
Delphi-Quellcode:
procedure ParseJson;
var LJsonArr : TJSONArray; LJsonValue : TJSONValue; LItem : TJSONValue; begin LJsonArr := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(StrJson),0) as TJSONArray; // soft cast for LJsonValue in LJsonArr do begin for LItem in TJSONArray(LJsonValue) do // hard cast Writeln(Format('%s : %s',[TJSONPair(LItem).JsonString.Value, TJSONPair(LItem).JsonValue.Value])); // 2x hard cast Writeln; end; end; |
AW: JSON & Delphi XE5
Zitat:
Ich finde dort so auf Anhieb keine Möglichkeit ein Objekt aus den JSON Daten zu erzeugen, sprich die Funktionalität des JSON Unmarshallers von Delphi selbst. Das ist für uns aber die wichtigste Funktion. |
AW: JSON & Delphi XE5
Ist jetzt etwas OT:
Zitat:
|
AW: JSON & Delphi XE5
Also geht es direkt nicht, ok. Also bleibt mir weiterhin nur die delphieigene Implementierung.
Für den Zweck, den RWarnecke verfolgt, sollte die Bibliothek allerdings ausreichen, ja. |
AW: JSON & Delphi XE5
Hallo zusammen,
danke erstmal für die vielen Antworten. Ich habe jetzt nochmal rumprobiert und die Beispiele in den verschiedenen Links ausprobiert. Leider steige ich hinter das Prinzip von JSON nicht. Gibt es nicht irgendwie eine Library, wo ich nur den JSON Text übergebe und mir die Daten in ein ClientDataSet zum Beispiel übergeben werden. Denn ich habe noch nicht verstanden, wann ist was ein TJSONArray oder ein TJSONObject. Edit: So nach ewigen rumprobieren, habe ich es geschafft Daten aus dem JSON-Format auszulesen. Entweder in einer Schleife oder auch einzeln. Als Unterstützung habe ich die Superobject Library genommen. Jetzt bleibt nur noch eine Frage übrig, wie kann ich programmtechnisch abfangen, wenn ich zum Beispiel ein Array anzeigen lassen will ? Gibt es da eine Funktion in der SuperObject Library ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz