[ hellofanta @ 21.12.2011. 20:33 ] @
Da li neko ima ideju kako da izvucem podakte iz JSON objekta?
Objekat dobijam na sledeci nacin:
$objekat=file_get_contents("https://graph.facebook.com/?ids=http://www.facebook.com");
$objekat=json_decode($objekat);

print_r mi pokazuje:
stdClass Object
(
[http://www.facebook.com] => stdClass Object
(
[id] => http://www.facebook.com
[shares] => 50505387
[comments] => 1067
)

)

Kako da izvucem recimo broj komentara?
Nista mi pametno na pada na pamet,probao sam preko foreach $objekat as $vrednost pa onda uzmem $vrednost->comments i to radi,ali da li je moguce da je to jedini nacin???
hvala
[ mlbrnda @ 21.12.2011. 20:44 ] @
Probaj ovako:

$objekat = json_decode($objekat, true);

Trebalo bi da dobijes asocijativni niz, pretpostavljam da to i zelis...
Nacinom na koji ti radis dobio si objekat...
[ ColdKeyboard @ 22.12.2011. 00:52 ] @
Pogledaj funkciju json_decode(), ona moze da prebaci json da prebaci u objekat ili ako postavis 2. parametar kao true dobijes asocijativni niz.

U principu razlika je da li ces pristupati elementima kao $objekat->element ili kao $objekat['element'] (ispravite me ako gresim).

A ako zelis da izvlacis neke elemente ili citas element po element tu uvijek moras da vrsis neku iteraciju kroz petlju koja ti najvise odgovara za to sto hoces.
[ hellofanta @ 22.12.2011. 10:05 ] @
Hvala drugari,to sam prvo uradio,ali rekoh da se vratim na objekat da probam preko njega,al nece pa nece,celo jutro isprobavam sa nizom i sve on meni da kako treba,kod:
Code:
$niz=file_get_contents("https://graph.facebook.com/?ids=http://www.facebook.com");
$niz=json_decode($niz,true);
var_dump($niz);

mi daje rezultat:
array(1) {
["http://www.facebook.com"]=>
array(3) {
["id"]=>
string(23) "http://www.facebook.com"
["shares"]=>
int(50646423)
["comments"]=>
int(1070)
}
}
Ako dobro kapiram sve ovo ovo je niz,sa nizom u sebi i pokusavam da mi pridjem ali ne mogu da provalim kljuc,ime prvog elementa,mislim da se ovako izvlaci $niz[xxx][0] eventualno umesto nula id ali ono xxx mi je nepoznanica
probao sam sa http://www.facebook.com ali nije to to,bas sam zbunjen :(
[ hellofanta @ 22.12.2011. 10:25 ] @
Ipak se rad isplati,samo sto sam se smorio uzas,fora je da mi je ono prefix ?ids= u linku sajta stvarao problem,kad otkucam https://graph.facebook.com/http://www.facebook.com bez problema prilazim bilo kom elementu niza ili ako izostavim true onda i sa objektom izvlacim sve.
Hvalaaa :)
[ mlbrnda @ 22.12.2011. 10:27 ] @
Ovako prilazis:

Code:

$niz = file_get_contents("https://graph.facebook.com/?ids=http://www.facebook.com");
$niz = json_decode($niz,true);

$id = $niz['http://www.facebook.com']['id'];
$shares = $niz['http://www.facebook.com']['shares'];
$comments = $niz['http://www.facebook.com']['comments'];
[ ivan.a @ 22.12.2011. 12:19 ] @
Može i ovako:
Code:
$url = file_get_contents("http://graph.facebook.com/http://www.facebook.com");
$obj = json_decode($url);
echo $obj->comments;
[ hellofanta @ 22.12.2011. 15:53 ] @
Hvala jos jednom:)
mlbrnda asocijativni radi kao podmazan \o/
[ fenixjz @ 14.07.2012. 16:20 ] @
Pozdrav svima !
Da ne bih otvarao novu temu,postavicu pitanje ovde u nadi da će neko odgovoriti.
Radim na APIju jedne kineske socijalne mreže (Weibo) i problem je u izvlacenju podataka iz JSONa.

<?php
session_start();

include_once( 'config.php' );
include_once( 'saetv2.ex.class.php' );

$c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] );
//****** Fi GET_UID radi tek kad se ucita access_token umesto APP KEY **** Dokumentacija je katastrofalna i netacna !!!! ***************
$s = $_SESSION['token']['access_token'];
$url = "https://api.weibo.com/2/account/get_uid.json?access_token=$s";
$data = file_get_contents($url);
$str = json_encode($data);
var_dump($str);//************************** daje ovo string(22) ""{\"uid\":2860572254}""
$jen = json_decode($str,true);
var_dump($jen);//************************** daje ovo string(18) "{"uid":2860572254}"
$t = $jen['uid'];
var_dump($t);//****************************daje ovo string(1) "{"
print $jen;
print $t;
?>

Zašto ne mogu izvući uid kao broj?
U čemu je problem?
Molim za pomoć,hvala.
[ s4djan @ 14.07.2012. 19:26 ] @
Probaj ovako:

Code:

$data = '"{\"uid\":2860572254}"';
$str = trim( stripslashes( $data), '"');
$decode = json_decode($str, true);

echo $decode['uid'];
[ fenixjz @ 14.07.2012. 19:58 ] @
Citat:
s4djan:
Probaj ovako:

Code:

$data = '"{\"uid\":2860572254}"';
$str = trim( stripslashes( $data), '"');
$decode = json_decode($str, true);

echo $decode['uid'];


Hvala Srdjane na brzom odgovoru !
iz gore navedenog koda dobijam -1434395042

Šta je u pitanju?

EDIT:
Sve vreme testiram na WAMPu, tu izbacuje -1434395042.
Sad sam uploadovao na host i tamo radi bez problema.
Hvala ti na odgovoru,šta li je problem na WAMP serveru?
[ s4djan @ 14.07.2012. 20:11 ] @
Stvarno nemam predstavu. Jel ti bas ovaj moj kod vrati taj rezultat ili si ga integrisao u svoj, probaj da vardampujes rezultat sta dobijes?
[ fenixjz @ 14.07.2012. 21:30 ] @
Citat:
s4djan:
Stvarno nemam predstavu. Jel ti bas ovaj moj kod vrati taj rezultat ili si ga integrisao u svoj, probaj da vardampujes rezultat sta dobijes?


Da, to izbacuje kao rezultat u var_dampu iz tvog koda, a na hostu radi kako treba.
Sve je ukljuceno u WAMPu, ssl i ostalo.
Zaista ne znam sta je??
Hvala na trudu !
[ pajaja @ 15.07.2012. 01:52 ] @
Zasto radis json_encode ako ti url vec vraca json?

Code:
$data = file_get_contents($url);
$jen = json_decode($data,true);
var_dump($jen);
$t = $jen['uid'];
var_dump($t);
[ fenixjz @ 15.07.2012. 10:47 ] @
Citat:
pajaja:
Zasto radis json_encode ako ti url vec vraca json?

Code:
$data = file_get_contents($url);
$jen = json_decode($data,true);
var_dump($jen);
$t = $jen['uid'];
var_dump($t);


Ne znam,jedino je sa encode delimično radilo na WAMPu.
Na hostu radi sve normalno,direktno sa decode.
Ako znaš šta je problem u WAMPu, molim te reci.


Hvala.