首页 > 解决方案 > 从解码的 json 数组中获取 Resultcode 的值

问题描述

嗨,伙计们,我知道这可能很容易,但我已经尝试过,但仍然做不到。我想获取结果代码的值,但仍然无法打印,所以我可以做一个 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'] 

不会回显或打印出任何内容,只是一个 {

谢谢

标签: phpjson

解决方案


这是因为你仍然从这一行得到一个 json。您还需要对其进行解码:

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

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

请记住,您可以echo这样做意味着它仍然是 json 格式,否则您会收到错误消息。


推荐阅读