我想我已经找到了错误所在:
$convertJSON = file_get_contents("http://www.google.com/ig/calculator?hl=en&q=" . $currencyValue . $currencySelectValue . "%3D%3FUSD", true); var_dump($convertJSON); $convertArr = json_decode($convertJSON, true); var_dump($convertArr);
我进行调试,得到以下结果(我输入了555和欧元):
string(68) "{lhs: "555 Euros",rhs: "796.64700 U.S. dollars",error: "",icc: true}" NULL
因此看来,用于解码JSON对象的PHP函数在某处做错了。有什么帮助吗?
Google给您的响应不是有效的JSON,因为未引用标签。您必须自己解析。
$response = '{lhs: "555 Euros",rhs: "796.64700 U.S. dollars",error: "",icc: true'; preg_match('/rhs:\s*"([^"]+)"/', $response, $m); echo $m[1];
输出:
796.64700 U.S. dollars