我想从api获取数据.. 但我有json的麻烦..我不能得到json字符串..它打印为普通字符串或xml .. 我尝试从网络多方法但没有解决方案.. 这是我的代码:
$url = "http://fv4online.com/egov_api/v1/students/7";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER,array('Accept:
application/json;charset=UTF-8'));
// set url
curl_setopt($ch, CURLOPT_URL, $url);
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// $output contains the output string
$output = curl_exec($ch);
print_r($output);
$t=json_decode($output,true);
print_r($t);
// close curl resource to free up system resources
curl_close($ch);
print($ output)的结果是字符串: 7345345343testtesttesttest2000testliterary4564620171testDamascusar_lang300600350en_lang160400200fr_lang160400200national80200100history120300200geograph120300200philosophy160400300religion802001501700155060successful
和print(var_dump($ output))的结果是xml:
' 7345345343testtesttesttest2000testliterary4564620171testDamascusar_lang<' ...(长度= 1544)
注意:以前我能够毫无问题地获取这些数据,但突然出现了问题
答案 0 :(得分:-1)
该字符串包含来自url的XML返回的所有值,只是没有围绕它们的标记。如果你做“查看来源”,你会看到更多。
你得到XML,而不是JSON。可能是他们已经改变了(这有点奇怪,但我看到更糟)。如果你想要的是JSON:
$xml = simplexml_load_string($xml_string);
$json = json_encode($xml);