AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke RestServer Antwort Json ohne "[" Klammern

RestServer Antwort Json ohne "[" Klammern

Ein Thema von ScharfeMietze · begonnen am 1. Feb 2016 · letzter Beitrag vom 3. Feb 2016
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.550 Beiträge
 
Delphi 12 Athens
 
#1

AW: RestServer Antwort Json ohne "[" Klammern

  Alt 1. Feb 2016, 15:38
Und jetzt nochmal meine Antwort lesen.
















Zitat:
Delphi-Quellcode:
function Value: string; virtual;
function ToJSON: string;
function ToString: string; override;
//uvm.
Ein Therapeut entspricht 1024 Gigapeut.
  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
 
#2

AW: RestServer Antwort Json ohne "[" Klammern

  Alt 1. Feb 2016, 15:47
Und wenn du von der gleichen Faulheit befallen bist wie ich, dann sparst du dir diesen gesamten Fuddelkram mit
Delphi-Quellcode:
unit Unit2;

interface

uses
  REST.Json.Types; // <- da sind die Json-Attribute definiert

type
  TResponseJSON = class
  private
    [ JsonName( 'result' ) ]
    FResultArray: TArray<string>;
  public
    property ResultArray: TArray<string> read FResultArray;
  end;

implementation

end.
und verarbeitest das ganz gemütlich mit
Delphi-Quellcode:
program foo;

uses
  System.SysUtils,
  REST.Json, // <- da ist TJson definiert
  Unit2 in 'Unit2.pas';

procedure Test;
var
  lResponse: TResponseJSON;
begin
  lResponse := TJson.JsonToObject<TResponseJSON>( '{"result":["Test<\u00F6\u00E4\u00FC\u00F6\u00E4\u00FC>7"]}' );
  try
    WriteLn( lResponse.ResultArray[ 0 ] );
  finally
    lResponse.Free;
  end;
end;

begin
  try
    Test;
  except
    on E: Exception do
      WriteLn( E.ClassName, ': ', E.Message );
  end;
  ReadLn;
end.
Weil einfach einfach einfach ist
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 Sir Rufo
Sir Rufo

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

AW: RestServer Antwort Json ohne "[" Klammern

  Alt 1. Feb 2016, 15:56
TsTsTs ... muss man immer alles dreimal sagen
http://www.delphipraxis.net/1328714-post6.html

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 himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.550 Beiträge
 
Delphi 12 Athens
 
#4

AW: RestServer Antwort Json ohne "[" Klammern

  Alt 1. Feb 2016, 15:56
Nur zum Test.
S := (LJSONObject.Values['result'] as TJSONArray).Items[0].Value; ?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
ScharfeMietze

Registriert seit: 5. Mär 2014
165 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#5

AW: RestServer Antwort Json ohne "[" Klammern

  Alt 1. Feb 2016, 15:59
@himitsu

Doch gelesen habe ich es aber meine Versuche mit
mmo1.Lines.Add('2' + LJSONObject.Values['result'].Value); scheitern. Ich bekomme '' als Antwort.

Wenn ich probiere dort gerade alles durch

edit: gerade den Post gesehen ... probier ich gleich


SirRufo das seh ich mir gleich mal an ^^ ))))

Gruß
SM
  Mit Zitat antworten Zitat
ScharfeMietze

Registriert seit: 5. Mär 2014
165 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#6

AW: RestServer Antwort Json ohne "[" Klammern

  Alt 1. Feb 2016, 16:03
himitsu du bist echt ein Gott/Göttin!!!
S := (LJSONObject.Values['result'] as TJSONArray).Items[0].Value; ? funktioniert SUPER!!!!!!!!

Danke dir!!!!
Gruß
SM

PS: Troz allem werde ich SirRufos Code auch testen, allein um des lernens Willen !!!

Geändert von ScharfeMietze ( 1. Feb 2016 um 16:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.550 Beiträge
 
Delphi 12 Athens
 
#7

AW: RestServer Antwort Json ohne "[" Klammern

  Alt 1. Feb 2016, 16:54
Aber nimm's nicht so schwer.
Ich fand die geklaute Implementation vom Embarcadero schon vom ersten Tag an Schrott, also was das Manuelle betrifft.

Der Wrapper von/zu den Datenobjekten ist halbweg bauchbar.
Geht allerdins nur, wenn man zur Designtime die Struktur kennt und passende Records/Datenobjekte schreibt. (dynamisch, zur Laufzeit was entscheiden, ist da dann nichts)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 1. Feb 2016 um 16:58 Uhr)
  Mit Zitat antworten Zitat
ScharfeMietze

Registriert seit: 5. Mär 2014
165 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#8

AW: RestServer Antwort Json ohne "[" Klammern

  Alt 1. Feb 2016, 17:15
Da ich mit dem RestServer erst beginne und ihn nur für mich privat brauchen werde, ist das zum üben vollkommen ausreichend.
Ich danke dir nochmal!!

Gruß
SM
  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: RestServer Antwort Json ohne "[" Klammern

  Alt 1. Feb 2016, 17:24
@himitsu

Wenn du von der API ständig überrascht wirst, was die so an Strukturen heraushaut, dann solltest du die API nochmal prüfen.

Und egal was die zurückliefert, die Struktur muss irgendwie bekannt sein, denn wie will man den Inhalt verarbeiten, wenn man nicht weiß, was der Inhalt bedeutet.
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
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:14 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