【问题标题】:How to get the value in the odata.nextlink (json file) in PHP如何在 PHP 中获取 odata.nextlink(json 文件)中的值
【发布时间】: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() 与数组一起使用,但运气不佳.

标签: php json curl odata


【解决方案1】:
$jsonb=json_decode($yourjson,true);

echo $jsonb['@odata.nextLink'];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-23
    • 2021-11-20
    • 1970-01-01
    • 2021-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多