我正在尝试从返回的响应中编码一个字段。在使用sms api发送短信后,我得到了如下答复:
'{
"ErrorCode":"000",
"ErrorMessage":"Success",
"JobId":"e51ca2d4-e3e6-415a-97f4-2e9a133f38e7",
"MessageData":[
{
"Number":"91974ssdsd2",
"MessageParts":[
{
"MsgId":"91974ddddd-0fe367f3b1774e74bf7c06e21cf38482",
"PartId":1,
"Text":"The OTP for your login is uxlvRF"
}
]
}
]
}'
我将此回复转换为以下格式:
'[
"ErrorCode"=>"000",
"ErrorMessage"=>"Success",
"JobId"=>"e51ca2d4-e3e6-415a-97f4-2e9a133f38e7",
"MessageData"=>[
["Number"=>"919747dddddd",
"MessageParts"=>[
[
"MsgId"=>"9197ddddd-0fe367f3b1774e74bf7c06e21cf38482",
"PartId"=>1,
"Text"=>"The OTP for your login is uxlvRF"
]
]
]
]
]'
这是通过使用代码完成的:$ triggersms是实际响应
$tgr_edt=str_replace(':', '=>', $triggersms);
$tgr = str_replace('{', '[', $tgr_edt);
$tgrnw = str_replace('}', ']', $tgr);
但是我尝试在我的laravel代码中使用$ tgrnw ['ErrorCode'],它显示错误
“offeset ErrorCode”..
任何人都可以帮忙吗?
答案 0 :(得分:0)
乍一看,您收到的回复对我来说就像是JSON。
这样做:
$obj = json_decode($triggersms);
echo $obj->ErrorCode;
或
$array = json_decode($triggersms, true);
echo $array['ErrorCode'];
You can read more about json_decode at the php.net manual here