php - 如何从课堂上获取授权码?
问题描述
嗨,我有课,我正在尝试获取身份验证代码,但是当我这样做时,它会显示一个错误:
我的代码是这样的:
stdClass Object ( [emisor] => 76063822 [codigo] => ZTs3NjA2MzgyMjszOTsxNjAwNjk= [receptor] => 18598968 [fecha] => 2020-01-21 [vencimiento] => [total] => 20000 [dte] => 39 [temporal] => [emitido] => 160069 [pagado] => 2020-01-21 [medio] => webpay [datos] => {"cardDetail":{"cardNumber":"8011","cardExpirationDate":null},"detailOutput":{"authorizationCode":"011323","paymentTypeCode":"VD","responseCode":0,"sharesNumber":0,"amount":"20000","commerceCode":"597034994579","buyOrder":"76063822-39-160069"},"transactionDate":"2020-01-21T16:50:50.835-03:00"} [tienda] =>
我这样做:
$Cobro->datos->detailOutput->authorizationCode
它显示“试图获取非对象的属性”
为什么它不起作用?因为我认为它是正确的,你能帮帮我吗?谢谢!
解决方案
您的对象中有一个 JSON 字符串,因此首先您需要应用json_decode()
然后访问所需的属性:
$datos = json_decode($Cobro->datos);
print_r($datos);
echo $datos->detailOutput->authorizationCode;
生产$datos
对象:
stdClass Object
(
[cardDetail] => stdClass Object
(
[cardNumber] => 8011
[cardExpirationDate] =>
)
[detailOutput] => stdClass Object
(
[authorizationCode] => 011323
[paymentTypeCode] => VD
[responseCode] => 0
[sharesNumber] => 0
[amount] => 20000
[commerceCode] => 597034994579
[buyOrder] => 76063822-39-160069
)
[transactionDate] => 2020-01-21T16:50:50.835-03:00
)
echo
输出:
011323
推荐阅读
- ruby-on-rails - ActiveRecord 在电子邮件地址表中查询每个用户的最新电子邮件地址
- javascript - 如何使用 vanilla js 在导航栏的链接中应用“活动”类?
- r - 使用时间和日期变量查找时间间隔
- c++ - c ++以管理员身份在Windows中重新启动服务
- angular - 带有 AngularFire 电话身份验证的 BottomSheet 行为不正确
- java - 尝试使用 selenium 4 打开新选项卡时,我看到“Selenium.InvalidArgumentException:无效参数”错误
- javascript - Javascript:字符串数组未更新
- javascript - 在 JavaScript 函数中声明一个变量,该变量在多次调用该函数时保持其值
- apache - 使用 apache 的乘客因“结束时间不能早于或等于开始时间”而失败
- javascript - 如何使用 jasmine 对 promise.all 进行单元测试?