返回Json字符串不起作用

时间:2017-12-24 16:06:46

标签: php json xml

我想从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)

注意:以前我能够毫无问题地获取这些数据,但突然出现了问题

1 个答案:

答案 0 :(得分:-1)

该字符串包含来自url的XML返回的所有值,只是没有围绕它们的标记。如果你做“查看来源”,你会看到更多。

你得到XML,而不是JSON。可能是他们已经改变了(这有点奇怪,但我看到更糟)。如果你想要的是JSON:

$xml = simplexml_load_string($xml_string);
$json = json_encode($xml);