我正在加载一个外部JSON文件。它看起来加载得很好。我正在使用这个脚本来加载它:
$file ="https://creator.zoho.com/api/json/los/view/All_clients?
authtoken=xxx";
$bors = file_get_contents($file);当我转储结果时,我得到:
string(505) "var zohoappview55 = {"Borrowers":[{"Full_Name":"Mike Smith","Email":"dadf@gmail.com","Address":"111 S. Street Ct., Aurora, CO, 80012","Position":"Borrower","ID":"1159827000004784102","Mobile":"+13033324675","Application":"Application 1 - 1159827000004784096"},{"Full_Name":"Stacy Smith","Email":"sdfa@gmail.com","Address":"111 S. Street, 80012","Position":"Co-Borrower","ID":"1159827000004784108","Mobile":"+1303558977","Application":"Application 1 - 1159827000004784096"}]};"看起来json在json的开头有一个预定义的var zohoappview55。我不确定这是否是我的问题,但是当我使用json_decode时,它不能解码。如果我去掉这个开始变量,它就能很好地解码。
我没有办法更改这个变量或编辑json文件,因为它是一个远程文件。有人知道如何使用开头的变量将其解码为本机格式吗?
发布于 2019-09-12 21:47:33
快速浏览一下zoho的API文档,似乎通常应该返回正确的json。它可能会认为这是浏览器请求的文件作为javascript源,所以您可能需要向请求添加一个Accept标头。
使用file_get_contents不能做到这一点,因此您可能需要使用curl。
尝试使用标头Accept: application/json执行普通的php curl请求。
有关参考信息,请参阅:PHP cURL custom headers
但正如Alex Howansky在评论中所说的那样。API可能不是为此而设计的。在这种情况下,您将需要剥离接收到的文档的开头和结尾。
https://stackoverflow.com/questions/57907914
复制相似问题