Ansprechen von numerischem JSON Objekt

Hi,
ich versuche in einem JSON File ein Feld mit dem folgenden Namen anzusprchen: 1.8.0

{„time“:1591951924000,„values“:{
„1.8.0“:7058000000,„1.8.1“:4958000000,„33.25“:0,„1.8.2“:2100000000}}

$wirkbezug_komplett = $data->values->1.8.0;

Ich habe die 1.8.0 schon in ’ ’ mit runden, eckigen und allen anderen klammern gesetzt. Leider kommen immer wieder Fehler, da PHP die Punkte nicht mag.

Wie komme ich an diesen Wert?

Eventuell mit \ Escapen? Oder als Array einlesen und hoffen, dass er es als String interpretiert?

Haltet euch fest. So sollte es gehen:


$wirkbezug_komplett = $data->values->{1.8.0};

paresy

Zur Info: So kann man auch Variablen einfügen. :slight_smile:

Grüße,
Kai

hatte ich auch schon probiert (bin jetzt Herr der Klammern) :wink: … obiges ergibt die folgende Fehlermeldung:

Parse error: syntax error, unexpected ‚.0‘ (T_DNUMBER) in /mnt/data/symcon/scripts/47785.ips.php on line 114

Bei mir geht es mit Anführungszeichen:


$wirkbezug_komplett = $data->values->{"1.8.0"};

Da läuft er durch, bekomme jetzt aber „Notice: Undefined property: stdClass::$1.8.0 in /mnt/data/symcon/scripts/47785.ips.php on line 114“

Wobei die Property gibt es ja:

{„time“:1591951924000,„values“:{„9.25“:0,„63.25“:0,„21.25“:0,„1.8.3“:0,„1.8.4“:0,„73.25“:0,„29.25“:0,„53.25“:0,„2.8.4“:0,„2.8.2“:0,„2.8.3“:0,„14.25“:50000000,„3.8.1“:3821000000,„3.8.2“:1752000000,„3.8.3“:0,„41.25“:0,„3.8.4“:0,„72.25“:235100000,„4.8.2“:0,„4.8.3“:0,„4.8.0“:0,„4.8.1“:0,„1.25“:0,„31.25“:20000,„52.25“:232790000,„4.8.4“:0,„49.25“:0,„5.8.0“:5574000000,„5.8.1“:3821000000,„5.8.2“:1752000000,„5.8.3“:0,„13.25“:0,„5.8.4“:0,„23.25“:0,„6.8.4“:0,„3.25“:0,„71.25“:10000,„6.8.2“:0,„6.8.3“:0,„6.8.0“:0,„6.8.1“:0,„51.25“:20000,„32.25“:231180000,„7.8.1“:0,„61.25“:0,„7.8.2“:0,„7.8.3“:0,„3.8.0“:5574000000,„7.8.4“:0,„69.25“:0,„7.8.0“:0,„8.8.4“:0,„43.25“:0,„2.8.0“:0,„2.8.1“:0,„8.8.2“:0,„8.8.3“:0,„8.8.0“:0,„8.8.1“:0,„1.8.0“:7058000000,„1.8.1“:4958000000,„33.25“:0,„1.8.2“:2100000000}}

Ich glaube ich hab es … ich greife irgendwie auf das falsche JSON zu