【发布时间】:2019-08-16 13:07:36
【问题描述】:
这应该非常简单,但我似乎无法弄清楚。我需要语法来从 json 文件中获取 odata.nextlink 的值,以用于获取下一组数据。使用 PHP/Curl。我尝试了几种语法,但无法正确使用。现在我正在尝试使用 $url = @odata.nextlink;
尝试了几种不同的格式来将 odata.nextlink 设置为一个变量,以便我可以在下一次数据集拉取时使用它。
//code for original pull
$url = 'https://...?$filter=$top=5000&$skip=5000&$Select=field1,field2,field3';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Accept-Encoding: deflate, gzip',
'Authorization: Bearer ' . $token
));
....
curl_setopt($ch, CURLOPT_FILE, $fp);
$data = curl_exec($ch);
//code trying to grab odata.nextlink, I have tried various methods. This is the line I need help with.
$url = @odata.nextlink;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Accept-Encoding: deflate, gzip',
'Authorization: Bearer ' . $token
));
....
curl_setopt($ch, CURLOPT_FILE, $fp);
$data = curl_exec($ch);
json file odata.nextlink:
"@odata.nextLink":"https://...?$filter=$top=5000&$skip=15000&$Select=field1, field2, field3"}
它没有拉取使用 nextlink 值的第二组数据。
【问题讨论】:
-
执行
var_dump($data)并在此处显示不敏感的输出。 -
对odata不是很熟悉,但是你有没有试过$array = json_decode()的结果,然后$array['@odata.nextLink']?
-
我会尝试 $array= json_decode... 我会做 var_dump 并添加输出。
-
仍在尝试解决此问题... var_dump($data) 显示:bool(true),我仍在尝试将 json_decode() 与数组一起使用,但运气不佳.