HansM: json in php

Hallo, ich bin noch neu mit PHP und kapier folgendes nicht:

ich habe ein json file und den möchte ich in php auswerten, z.B. möchte ich den Titel des Objekts srv ausgeben, folgendes hab ich probiert (und viele andere Varianten...):

$jsonstr = '{
	"wms": {
		"md": {
			"nresults": "23",
			"p": "1",
			"rpp": 10,
			"genTime": 0.355460882187
		},
		"srv": [{
			"id": 2142,
			"title": "meinName",
			"abstract": "meineZusammenfassung",
			"date": "14.11.2017",
			"loadCount": 2152,
			"getMapUrl": "http:\/\/www.meineUrl?",
			"logoUrl": "",
			"hasConstraints": true,
			"isopen": null,
			"symbolLink": "http:\/\/www.meineUrl.de\/portal\/symbol.png",
			"status": "1",
			"avail": "96.72",
			"price": null,
			"logged": false,
			"nwaccess": false,
			"layer": [{
				"id": 37531,
				"title": "meinTitel"
			}]
		}]
	}
}';

$json_decode = json_decode($jsonstr, true);
//print_r($json_decode);
echo $json_decode->wms[0]->srv[0]->title;

Wie komm ich da ran? Danke! Hans

  1. Tach!

    echo $json_decode->wms[0]->srv[0]->title;
    

    wms ist kein Array sondern ein Objekt. Lass den Teil [0] weg.

    dedlfix.

    1. das hatte ich auch schon probiert, klappt aber nicht:

      echo $json_decode->wms->srv[0]->title; //nix zurück
      

      Hans

      1. Tach!

        das hatte ich auch schon probiert, klappt aber nicht:

        echo $json_decode->wms->srv[0]->title; //nix zurück
        

        Das liegt nun daran, dass du dem json_decode() als zweitem Parameter ein true übergibst, dann werden statt Objekten assoziative Arrays erzeugt.

        dedlfix.