Hallo Lukas, On Thu, Nov 29, 2012 at 12:38:49AM +0100, Lukas Zeller wrote: > Da kämpfe ich mit dem Property-Tree, bzw. mit der Logik der JSON API Methode > "query". Gibt's da genauere Doku als die eine Zeile in der JSON API dok? Ist > das eine Syntax, die man kennen sollte, oder was dss-Eigenes?
es ist eine dSS eigene Syntax, detaillierte Doku gibt es nicht, wobei man recht schnell dahinter kommt, wenn man ein paar Sachen ausprobiert. Einige Beispiele finden sich im dSS UI, z.B.: /json/property/query?query=/apartment/zones/*(ZoneID,scenes)/groups/*(group,name)/scenes/*(scene,name) Dies würde heissen: aus allen direkten child Nodes von "zones", gib mir die Werte von den leaf Nodes "ZoneID" und "scenes", falls dieser child Node seinerseits einen child Node hat, der "groups" heisst, schau alle child Nodes von "groups" an und gebe die leaf Nodes mit den namen "group" und "name" zurück, schau in doer Struktur weiter - gleiches Spiel mit "scenes". * matched in diesem Fall alle child Nodes (in diesem speziellen Fall sind die child Nodes von "zones" als "zoneXXX" durchnumeriert. Würdest du einen bestimmten zone node anschauen wollen, könntest du z.B. /zones/zone123(ZoneID,scenes) verwenden, dies würde danne nur den "zone123" node Betrachten und nur dort nach "ZoneID", "scenes" und in weiterer folge "groups" suchen. Ich weiss leider nicht wie ich das weniger verwirrend beschreiben kann, aber wenn du ein paar Queries im Browser ausprobierst, und daneben den Property Tree anschaust, wirst du recht schnell draufkommen wie das System funktioniert. > Mir scheint, dass der Aufbau des Trees bestimmten Konventionen folgen muss, > damit das sinnvoll funktioniert. Ist das so? Prinzipiell ja, z.B. wenn du /zones/zone123, /zones/zone456 hast, dann sollte als child Node von zone123 noch ein node "name": "zone123" und als child Node von zone456 ein Node "name": "zone456" vorhanden sein. Ansonsten würdest du bei dem JSON, welches von der Query zurück kommt, nicht sehen können zu welchem Node die daten gehören. Probiere das Beispiel von weiter oben aus, und lasse das "name" weg, dann wirst du sehen was ich meine - die Daten könnte man dann nicht mehr genau einer bestimmten Zone zuordnen. Grüsse, Sergey _______________________________________________ dss-developer mailing list [email protected] http://forum.digitalstrom.org/cgi-bin/mailman/listinfo/dss-developer
