【问题标题】:getting JSON object from a GET cURL in php从 php 中的 GET cURL 获取 JSON 对象
【发布时间】:2014-01-11 22:50:21
【问题描述】:

这是我的代码:

$ch = curl_init('');  

  $request = 'where={"place":"'.$place.'"}&count=1&limit=0';
  $url = "https://api.parse.com/1/classes/className" . "?" . $request;

  curl_setopt($ch, CURLOPT_URL,$url);



  curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'X-Parse-Application-Id: ...',
    'X-Parse-REST-API-Key: ...
    ));

  //curl_setopt($ch, CURLOPT_POST, true);


  // Execute
  $result = curl_exec($ch);

  // Close connection
  curl_close($ch);

这是输出:

{"results":[],"count":0}

我只想得到他的计数。

我试过这个:

$json_res = json_decode($result, true);

  echo 'Number : '.$json_res['count'];

但是输出变成:

Number :

如果我执行json_encode,则结果只是True 值。

我试过添加这个:

  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);

但没有改变任何东西。

我错过了什么?

编辑:在 $json_res 上做一个 var_dump 给我:int(1)。 这是为什么呢?

【问题讨论】:

  • 您是否费心检查 json_decode() 是否真的成功了?它在失败时返回一个 php null
  • @MarcB 嗯,如何检查?也许它根本没有成功。
  • 做一个$json_res的var_dump
  • if ($json_res === null) { die(json_last_error()); }。当然,如果您确实发送了一个有效的“null”值作为 json 字符串,这可能会产生误报。
  • @AlexBarroso 它打印 int(1)。

标签: php json curl get


【解决方案1】:

如果不设置 CURLOPT_RETURNTRANSFER 选项,Curl 不会返回输出

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    • 2016-08-10
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多