json in PHP branje arraya

Preko json_decode dobim array spremenljivko.

Ko izpišem spremenljivko s print_r ($var); dobim naslednji izpis:

stdClass Object
(
[140325172721894] => stdClass Object
(
[id] => 140325172721894
[application] => stdClass Object
(
[=> Silvo
[id] => 241505092000000
)

        [to] => stdClass Object
            (
                [name] => Mare Niga
                [id] => 100002403000000
            )

)

Kako dobim iz tega arraya samo vrednost npr. [name] => Mare Niga

Poskusil sem z echo $var->to->name; vendar dobim napako.

Ali kdo ve kakšna je pravilna PHP koda.]()

5 odgovorov

čuden class, priporočam ko daš print da prej echo-aš <pre> - ti lepše izpiše... glede na to bi dostopal do name preko

$var[140325172721894]->to->name ali nekaj zelo podobnega -en zaklepaj manjka

Sem uporabil <pre> tag, vendar ko prilepim kodo noter na IM mi jo malce drugače prikaže. Res manjka oklepaj, ker sem prikazal samo del izpisa, da ni predolga klobasa.

Strinjam se, da je čuden class ampak to dobim iz facebook-a ko naredim poizvedbo, zato na to nimam vpliva.

Sem poskusil tvojo varianto $var[140325172721894]->to->name in še nekaj podobnih a ne dobim ven nič.

Po spominu ti predlagam dve stvari:

1.)Priporočam: Pri klicu funkcije jsondecode za drugi parameter podaj "true", torej $var = jsondecode($prejeti_podatki, true);

Na ta način ne boš dobil stdClass objekta, ki zna biti neroden za obdelavo, temveč povsem navaden asociativni array. Tako boš z lahkoto dostopal do podatkov na način $var['140325172721894']['to']['name'] ...

2.) Če vseeno želiš uporabljati stdClass objekt, imam v spominu, da lahko dostopaš do podatkov na način $var->{140325172721894}->{to}->{name} ali nekaj podobnega.

Vso srečo! ;)

6

The best, dela!

Uporabil sem prvo točko in to je to kar rabim. dobim posamezno vrednost ven. Ful ti hvala.

Ni panike, z veseljem pomagam. ;)

3