0

このコードに問題があります

これは、他のプロジェクトで動作する私の PHP です...

$gas = file_get_contents('http://api.mygasfeed.com/stations/loadbygeo/47.9494949/120.23423432/reg|mid|pre|diesel/'. $api . '.json?callback=?');



$json_output = json_decode(utf8_decode($gas));

$location= $json_output->geoLocation->city_id;

これはJSONの結果です

?({"status":{"error":"NO","code":200,"description":"none","message":"Request    ok"},"geoLocation":{"city_id":"13123","city_long":"Hulunber","region_short":"Nei Mongol","region_long":"Nei Mongol","country_long":"China","country_id":"49","region_id":"6010"},"stations":[]})

このコードは空白の結果を返しています。

4

1 に答える 1

0

と を削除する必要があり?(ます)WP:JSONPを参照してください。

そのために使用することもできますsubstr()し、正規表現を使用して目的のガベージのみをアサートして削除することもできます。

$json = preg_replace("/ ^[?\w(]+ | [)]+\s*$ /x", "", $jsonp);

任意callbackFnNames(だけでなく、奇妙な?(疑似関数呼び出しも削除します。

于 2012-06-10T02:06:15.983 に答える