2016-03-24 21 views
1

Hier ist mein curl Code php:Kann nicht analysieren curl Antwort als json

$ip=$cs[remoteip]; 
$remoteip = 'http://freegeoip.net/json/'.$ip; 
$ch=curl_init(); 
curl_setopt($ch,CURLOPT_URL,$remoteip); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
$output=curl_exec($ch); 
var_dump($output);die(); 

Hier ist die Antwort:

string(250) "({"ip":"104.184.193.15","country_code":"US","country_name":"United States","region_code":"FL","region_name":"Florida","city":"Boynton Beach","zip_code":"33472","time_zone":"America/New_York","latitude":26.5253,"longitude":-80.0664,"metro_code":548});" 

Nun, wenn ich dies tun:

$output=json_decode($output); 
curl_close($ch); 
var_dump($output);die(); 

ich eine NULL als Antwort.

Ich habe auch versucht json_decode($output,true) und bekam NULL als das Ergebnis:

Nicht ganz sicher, was hier zu tun.

+1

Ihr JSON ist nicht korrekt wegen Klammern und Semikolon am Ende, wahrscheinlich ist es ein JSONP-Format .... Zuerst loswerden und dann analysieren – misher

+0

Json ist nicht gültig. Sie können Ihren JSON auch unter [jsonlint] (http: // http: //jsonlint.com/) validieren. –

Antwort

0

Die JSON-Zeichenfolge hat ein falsches Format! Das erste Zeichen '(' und die letzten zwei Zeichen ');' Sollte entfernt werden.

Verwandte Themen