从解码的json数组中获取Resultcode的值

时间:2018-10-17 13:11:06

标签: php json

嗨,我知道这可能很容易,但是我已经尝试过并且仍然很短。我想获取结果代码的值,但仍无法打印出来,因此可以执行if语句

//loop through json array 

$str = file_get_contents('Response.json');
$array = json_decode($str, true);

$last = array_pop($array);

echo "<pre>";
echo $last[0];

//echo $last[0]['Body']['stkCallback']['ResultCode'];

行echo $ last [0]起作用并给我

{"Body":{"stkCallback":{"MerchantRequestID":"16421-6174532-2","CheckoutRequestID":"ws_CO_DMZ_99605283_17102018133825256","ResultCode":1036,"ResultDesc":"[STK_CB - ]SMSC ACK timeout."}}}

但是

$last[0]['Body']['stkCallback]['ResultCode'] 

仅回显{

谢谢

3 个答案:

答案 0 :(得分:0)

这是因为您仍从此行获取json。您还需要对其进行解码:

print_r(json_decode($last[0],true));

这应该返回您需要的数组。

请记住,您可以echo的事实意味着它仍为json格式,否则会出现错误。

答案 1 :(得分:0)

好像您回显$last[0]时看到的是另一个json字符串,而不是对象。您也需要对其进行解码:

$last = json_decode(array_pop($array), true);
print_r($last);

答案 2 :(得分:0)

似乎您的某些数组值存在json字符串, 如果是这样,可能是solution