AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi kleine anleitung zur unit lkjson gesucht
Thema durchsuchen
Ansicht
Themen-Optionen

kleine anleitung zur unit lkjson gesucht

Ein Thema von JonnyGuitar · begonnen am 22. Mai 2007 · letzter Beitrag vom 4. Jun 2007
Antwort Antwort
JonnyGuitar

Registriert seit: 4. Jun 2004
233 Beiträge
 
#1

kleine anleitung zur unit lkjson gesucht

  Alt 22. Mai 2007, 08:53
moin zusammen,

ich befasse mich seit gut einer woche mit dem thema json. auf der offiziellen seite JSON wird unter anderem die unit lkjson für delphi angeboten LKJSON.

eigentlich kam ich relativ gut klar damit (dachte ich), nur wenn ich ein paar objekte hinzufüge und ein paar lösche kommen immer irgendwelche speicherverletzungen.

Delphi-Quellcode:
jStart := TlkJSON.ParseText(s) as TlkJSONobject;
jData := TlkJSONobject(jStart.GetField('data'));
jPers := TlkJSONobject(jData.GetField('pers'));
jAddr := TlkJSONlist(jMail.GetField('addr'));
so hole ich mir erstmal das array um das es geht.

nur wenn ich dann diverse sachen in jAddr hinzufüge oder verändere kommen die fehler.

leider habe ich keine doku zu der unit gefunden
hat irgendeiner von euch ein kleines tutorial zur verfügung?

mfg Jonny
the only thing to fear is runnin' out of beer
  Mit Zitat antworten Zitat
Benutzerbild von Lun
Lun

Registriert seit: 4. Feb 2006
122 Beiträge
 
Delphi 2005 Professional
 
#2

Re: kleine anleitung zur unit lkjson gesucht

  Alt 4. Jun 2007, 12:04
Hi Jonny,

ein Tutorial kann ich Dir nicht geben aber es gibt noch eine andere Libary, bei der eine Doku dabei ist.
Delphi web utils (uJson)

Ich werde mir die Tage mal beide Libarys angucken. Mal gucken vielleicht kann ich dir dann zu deinem Problem
weiterhelfen.

greetz Lun
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: kleine anleitung zur unit lkjson gesucht

  Alt 4. Jun 2007, 12:22
Hallo,

deine direkten type casts würde ich mal prüfen.
Bist du sicher, dass

jAddr := TlkJSONlist(jMail.GetField('addr'));

eine "array" zurückliefert.

Das kannst du mit is ja mal prüfen.

Ich sehe in der Unit, dass GetField ein TlkJSONbase zurückgibt.
Davon sind ja dann alle anderen Klassen abgeleitet.

Ein

Delphi-Quellcode:
var
  jBase: TlkJSONbase;
begin
  jBase:= jMail.GetField('addr');
  if jBase is TlkJSONlist then
  begin
    jAddr:= TlkJSONlist(jMail.GetField('addr'));
  end
  else
  begin
    Assert, oder was weiss ich
  end;
ist ja (zumindestens beim Debuggen) nicht verkehrt.

ein
with jBase as TlkJSONlist würde ich übrigens nicht nehmen, das Debuggen mit is finde ich einfacher



Heiko
Heiko
  Mit Zitat antworten Zitat
JonnyGuitar

Registriert seit: 4. Jun 2004
233 Beiträge
 
#4

Re: kleine anleitung zur unit lkjson gesucht

  Alt 4. Jun 2007, 12:45
servus,

erstmal danke für eure antworten.

@lun: die unit hatte ich mir auch schon angeguckt, jedoch ist dort das problem wenn ich dort das json object wieder in einen string umwandeln will um dieses an den server zu schicken das format nicht stimmt.

@hoika: ich bezweifle selber, dass die casts "sauber" sind, jedoch wird mir definitiv eine liste zurückgegeben. die unit ist ja nun in der version 1.01 verfügbar, es sind auch einige neue sinnvolle methoden hinzugekommen, nur treten bei der benutzung extrem viele leaks auf, was mit sicherheit zum einen durch meine falsche benutzung aber auch durch irgendwie nicht funktionierende destructoren auftritt. leider finde ich keine alternativen


mfg Jonny
the only thing to fear is runnin' out of beer
  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 22:54 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