Çözme JSON Twitter çalışmıyor itibaren PHP ile beslemek?

4 Cevap php

Yani PHP ile JSON formatında bir kullanıcının tweet buhar aşağı çekiyorum. Ben bunun üzerinden manevra böylece yerine bir dize daha bir ilişkisel dizi ya da en azından biraz daha kullanışlı moda haline çözmek istiyorum.

Ben json_decode deli gibi okuma oldum, ama benim için bu dosyanın içeriğini hala uzun bir dize olarak tespit ediliyor, önce ve sonra, bunu kullanmak zaman gibi görünüyor. Herkes beni yanlış yapıyorum anlamaya yardımcı olabilir misiniz?

$url = "http://twitter.com/status/user_timeline/" . $username . ".json?count=" . $count . "&callback=?";    

// $url becomes "http://twitter.com/status/user_timeline/steph_Rose.json?count=5&callback=?";   
        $contents = file_get_contents($url);
        $results = json_decode($contents, true);

        echo "<pre>";
        print_r($results);
        echo "</pre>";

        echo gettype($results); // this returns string

4 Cevap

callback URL ile, o parantezi ( ) (dize alıntı) sarılmış bir dize geri almak:

([{"in_reply_to_user_id":  /* ...more data here...*/ }]);

Bu geçerli bir JSON değil.

callback, sonuç sadece [ ] hangi sarılır olmadan geçerlidir:

 [{"in_reply_to_user_id":  /* ...more data here...*/ }]

= Ve geri arama Hendek? url.

Ben jQuery kütüphanesi kullanarak JSON ayrıştırma için kullanılan, bu yüzden = & geri arama vardı? URL'nin sonunda.

Bunu çıkarmak gibi görünüyor, ki json_decode (), bir dizi, daha sonra, veri dönüştürme sorunu yok.

Herkes bu olurdu nedenini bilen varsa, ben bilmek isterdim.

Uzun lafın kısası, bu işe yarıyor!

   $url = "http://twitter.com/status/user_timeline/" . $username . ".json?count=" . $count;

böylece json json ve, kod çözümü jsonp sonları JSONP değil arama kaldırmak