如何在php中捕获json返回的值

时间:2014-08-19 20:21:36

标签: php jquery

我正在编写一个脚本来进行api通话并将信用卡添加到结算系统

 <?php
   include 'class.hbwrapper.php';
   HBWrapper::setAPI('http://my-site.com/admin/api.php','API ID','API Key');
   $params = array(
      'id'=>ID,
      'cardnum'=>CARDNUM,
      'cardtype'=>CARDTYPE,
      'expiryyear'=>EXPIRYYEAR,
      'expirymonth'=>EXPIRYMONTH
   );
   $return = HBWrapper::singleton()->editClientCreditCard($params);
   print_r($return);
?>

以下是回复

  {
      "success": true,
      "call": "editClientCreditCard",
      "server_time": 1317726229,
      "info": [
         "Credit Card details updated"
      ]
   }

如果在php中为true或false,我如何编写if语句来检查返回的成功值的值?

在另一个问题中,我应该看看php这样做吗?还是用jquery?

谢谢

5 个答案:

答案 0 :(得分:3)

取决于您的PHP版本:

对象:

if(json_decode($return)->success === true)

对于数组:

if(json_decode($return, true)['success'] === true)

对于较旧的PHP或者您需要解码整个对象/数组:

$result = json_decode($return);
if($result->success === true)

答案 1 :(得分:3)

喜欢这个;

$data = json_decode($return); 

if($data['success'] === true) {

  //true

} else {

 //false 

}

答案 2 :(得分:3)

您可以使用 json_decode 将JSON响应转换为php变量。然后你可以查看回复。

有关详细信息,请参阅PHP手册http://php.net/manual/de/function.json-decode.php

答案 3 :(得分:2)

$data=json_decode($your_json_string);
if($data->success){
...
}

答案 4 :(得分:1)

你可以这样做。

$return = json_decode($return);

if($return->success){
    // true
      echo "TRUE";

} else {
     // false
      echo "FALSE";
}