JSON извлечение данных в PHP - PullRequest
0 голосов
/ 03 мая 2018

У меня ниже JSON data на сервере. Как я могу извлечь только "SUCCESS" как вывод в PHP, где SUCCESS является результатом Status, который находится внутри object из data. т.е. "статус": "УСПЕХ",

{  
   "response":{  
      "status":true,
      "statusCode":"0",
      "statusDescription":"Amount Debited",
      "data":{  
         "balanceamount":"528",
         "status":"SUCCESS",
         "statuscode":"0",
         "statusdescription":"Amount Debited",
         "debitedamount":"2",
         "orderid":"hj",
         "refId":"4450"
      }
   },
   "checksum":"23e97234820f5987189245e4216e89425472c2fe2c957749743b21d828efae67"
}

UPDATE

$ch = curl_init();  // initiate curl
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);  // tell curl you want to post something
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string); // define what you want to post
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // return the output in string format
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);     
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$output = curl_exec ($ch); // execute

//echo "Request_Json= ".$data_string;
//echo "Response_Json=".$output;
echo $output;

Это $output дает мне вышеупомянутый JSON. Но когда я использую ваш ответ, я получаю вывод пустым. Что-то я делаю не так?

Ответы [ 2 ]

0 голосов
/ 03 мая 2018
$output = '{  
   "response":{  
      "status":true,
      "statusCode":"0",
      "statusDescription":"Amount Debited",
      "data":{  
         "balanceamount":"528",
         "status":"SUCCESS",
         "statuscode":"0",
         "statusdescription":"Amount Debited",
         "debitedamount":"2",
         "orderid":"hj",
         "refId":"4450"
      }
   },
   "checksum":"23e97234820f5987189245e4216e89425472c2fe2c957749743b21d828efae67"
}';
 $json_result = json_decode($output);
echo $json_result->response->data->status;
0 голосов
/ 03 мая 2018

надеюсь, что это сработает для вас:

используйте json_decode для строки json

$json= '{  
   "response":{  
      "status":true,
      "statusCode":"0",
      "statusDescription":"Amount Debited",
      "data":{  
         "balanceamount":"528",
         "status":"SUCCESS",
         "statuscode":"0",
         "statusdescription":"Amount Debited",
         "debitedamount":"2",
         "orderid":"hj",
         "refId":"4450"
      }
   },
   "checksum":"23e97234820f5987189245e4216e89425472c2fe2c957749743b21d828efae67"
}';


$arr = json_decode($json);

//print_r($arr);
echo $arr->response->data->status;
/*Output SUCCESS*/
die;

ОБНОВЛЕНИЕ:

 $output = curl_exec ($ch); 
 $arr = json_decode($output );
 echo $arr->response->data->status;

для более: http://php.net/manual/en/function.json-decode.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...