2016-03-24 31 views
-2

kullanarak gösterir. Php kullanarak okumak istiyorum. bana ?( başlayan ve biten ); hariç JSON gibiverileri seppific formatta php

 ?({"ip":"104.112.115.28","country_code":"US","country_name":"United States","region_code":"CA","region_name":"California","city":"Houston","zip_code":"90013","time_zone":"America/Los_Angeles","latitude":34.0453,"longitude":-118.2413,"metro_code":803}); 
+0

JSON gibi _mostly_ gibi görünüyor, bu yüzden _almost_ json_decode kullanabilirsiniz. –

+0

Bu çıkışı nasıl aldığınızı göstermek için biraz daha bilgi ekleyebilir misiniz? –

+0

$ decodedJson = json_decode ($ data, true); foreach ($ decodedJson $ değer olarak) { echo $ value ['region_name']; echo "
"; } – Parag

cevap

1

Eh, ne görünüyor bunu nasıl bildirin. Bunları kaldırdıktan sonra, dizeyi PHP stdClass nesnesine deşifre etmek için json_decode'u kullanabilmeniz ve değerlerine bu şekilde erişebilmeniz gerekir. Bu kaba bir cevabı Yine

$result = ' ?({"ip":"104.112.115.28","country_code":"US","country_name":"United States","region_code":"CA","region_name":"California","city":"Houston","zip_code":"90013","time_zone":"America/Los_Angeles","latitude":34.0453,"longitude":-118.2413,"metro_code":803});'; 

//remove the bad stuff on the start and end, which assumes these strings don't exist elsewhere in the result, which is a pretty big assumption 
$string = str_replace('?({', '{', str_replace('});', '}', trim($result)); 

$data = json_decode($string); 

echo $data->ip; 

ve büyük bir varsayım yapar, ama muhtemelen çoğu durumda altında çalışacak;:

Kabaca yapılan, gibi bir şey deneyebilirsiniz kesinlikle verdiğiniz örnek için.

+0

teşekkürler. – Parag

+0

@ Parag çalıştı, bunu duyduğuma sevindim! Cevap olarak kabul edebilir misin? Teşekkürler! İyi eğlenceler. – Davis

İlgili konular