【发布时间】:2019-03-22 04:23:36
【问题描述】:
大家好,我知道这可能很容易,但我已经尝试过,但仍然做不到。我想获取结果代码的值,但仍然无法打印,所以我可以做一个 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']
不会回显或打印出任何内容,只是一个 {
谢谢
【问题讨论】:
-
看来你需要重新解码。您的 Response.json 内容是否经过双重编码?你能分享那个文件的内容吗?
-
我可以通过
echo输出$last[0]值并看到一个字符串,这意味着您在json 中编码了json。因此,您还需要对其进行解码。如果你也生成文件,我建议去掉双重编码,只对最终结果编码一次。