Autor Thema: Zugriff auf Array Wert?  (Gelesen 4944 mal)

yves.menge

  • Gast
Zugriff auf Array Wert?
« am: 09.01.13 - 09:02:09 »
Hallo Zusammen

Irgendwie komme ich mit einem bestimmten Array nicht klar! Ich bin überzeugt jemand von Euch hat mir einen bahnbrechenden Tipp, wie ich auf die Werte (url, id, name....) des Array VPIECES mittels Lotusscript zugreifen kann?



Danek für eure Inputs!

Glombi

  • Gast
Re: Zugriff auf Array Wert?
« Antwort #1 am: 09.01.13 - 09:17:24 »
Versuch mal
VPIECES.users.M_VDATA(0).M_VDATA.url

yves.menge

  • Gast
Re: Zugriff auf Array Wert?
« Antwort #2 am: 09.01.13 - 09:22:05 »
Hallo Glombi

Danke für den schnellen Tipp, das habe ich auch bereits versucht erhalte jedoch folgende Fehlermeldung:


Glombi

  • Gast
Re: Zugriff auf Array Wert?
« Antwort #3 am: 09.01.13 - 09:29:52 »
Ist ja ein tolles Konstrukt und das letzte Gleid der Kette offenbar eine Liste. Also müsste es so gehen:
VPIECES.users.M_VDATA(0).M_VDATA("url")

Andreas

yves.menge

  • Gast
Re: Zugriff auf Array Wert?
« Antwort #4 am: 09.01.13 - 09:36:59 »
Hallo Glombi

Frisst er auch nicht :( Naja ich habe das Konstrukt so nicht selbst erstellt, das wird durch die JSONReader Klasse von Snapps so erstellt :(

Ich versuche genau genommen nur eine JSON Antwort sinnvoll weiter zu verarbeiten aber hierzu gibt es keine Lotus Script interne möglichkeit und in Java kenne ich mich nur wenig aus...

Yves

Offline ghostmw

  • Aktives Mitglied
  • ***
  • Beiträge: 201
  • Geschlecht: Männlich
    • BELOS - Raum+Ressourcenmanagement unter Lotus Notes
Re: Zugriff auf Array Wert?
« Antwort #5 am: 09.01.13 - 09:44:47 »
Hallo Yves,

das hatte ich auch schon mal, es hilft - glaube ich - nur wenn man wirklich für jede Ebene eine Variable definiert.

Also z.B.

dim varUnterEbene1 as Variant
dim varUnterEbene2 as Variant
dim varUnterEbene3 as Variant

varUnterEbene1 = VPIECES.User
varUnterEbene2 = varUnterEbene1(0)
varUnterEbene3 = varUnterEbene2.M_VDATA

ergebnis = varUnterEbene3("url" )

Probier das mal aus, vielleicht hilft das dir weiter ... ansonsten forall Schleifen in den Bereichen, wo's nicht klappen will.
« Letzte Änderung: 09.01.13 - 09:47:55 von ghostmw »
Grüße
Marco Weller
Lotus Domino / Lotus Notes seit 1996 (ab 4.5x)

yves.menge

  • Gast
Re: Zugriff auf Array Wert?
« Antwort #6 am: 09.01.13 - 09:47:58 »
OK, das gibt ja dann einen gewissen "nonsense-zusatzaufwand" :))

Hast du eventuell eine sinnvollere Art gefunden, mit JSON umzugehen?

Offline MatthiasK-HH

  • Frischling
  • *
  • Beiträge: 3
Re: Zugriff auf Array Wert?
« Antwort #7 am: 15.05.13 - 18:06:28 »
Hallo Yves,

das hatte ich auch schon mal, es hilft - glaube ich - nur wenn man wirklich für jede Ebene eine Variable definiert.

Also z.B.

dim varUnterEbene1 as Variant
dim varUnterEbene2 as Variant
dim varUnterEbene3 as Variant

varUnterEbene1 = VPIECES.User
varUnterEbene2 = varUnterEbene1(0)
varUnterEbene3 = varUnterEbene2.M_VDATA

ergebnis = varUnterEbene3("url" )

Probier das mal aus, vielleicht hilft das dir weiter ... ansonsten forall Schleifen in den Bereichen, wo's nicht klappen will.

Sorry wenn ich das hier noch mal aufwärme, aber ich habe jetzt dasselbe Problem. Und bei Deiner Lösung hier funktioniert schon der erste Eintrag

varUnterEbene1 = VPIECES.User

nicht. Ich bekomme die Fehlermeldung:

Variant does not contain an object

Mit einer Forall Schleife komme ich eine Ebene tiefer, kann dann aber immer noch nicht auf die Items zugreifen.

In der angehängten Grafik ist es die Variable "ResultList". Hier möchte ich gerne auf den Wert von M_ICOUNT und natürlich auf die Werte von
  • , [1] usw. zugreifen.


Gruß Matthias Kurzer

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Zugriff auf Array Wert?
« Antwort #8 am: 16.05.13 - 10:03:33 »
« Letzte Änderung: 16.05.13 - 10:30:17 von umi »
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline MatthiasK-HH

  • Frischling
  • *
  • Beiträge: 3
Re: Zugriff auf Array Wert?
« Antwort #9 am: 16.05.13 - 10:28:36 »
Sorry, aber da verstehe ich nicht ganz, was Du damit meinst.
Ich habe das JSON-Object vResults in ein Variant vPieces "umgewandelt". Mit einer ForAll Schleife habe ich daraus RESULTLIST bekommen. Ab hier funktioniert eine ForAll schleife nicht mehr, um in die tieferen Ebenen (und es geht noch sehr viel tiefer!) zu kommen. Daher meine Frage, wie ich zum einen auf den Wert M_ICOUNT zugreifen kann, da ich damit heraus bekomme, wieviele Elemente das Array hat. Und zum anderen möchte ich auf dieses Array zugreifen. Es ist genauso aufgebaut, es gibt wieder ein M_VDATA und ein M_ICOUNT und Values, die teilweise wieder Arrays enthalten.
Leider finde ich nirgendwo ein Beispiel, wo so ein JSON-Object bis zu einem einzelnen Wert hinunter ausgelesen wird...

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Zugriff auf Array Wert?
« Antwort #10 am: 16.05.13 - 10:40:49 »
schon mal mit UBOUND probiert?
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline MatthiasK-HH

  • Frischling
  • *
  • Beiträge: 3
Re: Zugriff auf Array Wert?
« Antwort #11 am: 16.05.13 - 11:12:15 »
Ja, die Zeile
AnzEventsJSON = UBound(resultlist)
liefert "Type missmatch"
 ???

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz