如何获取 JSON 对象/数组中的属性

我目前正在使用 Amazon AWS SNS 向客户发送 SMS。


SMS 工作正常,但是我想根据结果在提交表单时简单地显示成功或错误消息。


在下面的成功消息上提交表单后的结果。我可以看到带有 int(200) 的 statusCode 表示它已成功发送。我如何获取它并使用它来显示成功或错误消息?


object(Aws\Result)#117(2){

  [

    "data": "Aws\Result": private

  ]=>array(2){

    [

      "MessageId"

    ]=>string(36)"f12f2261-5e13-54e8-b72e-37s26fd3c348"[

      "@metadata"

    ]=>array(4){

      [

        "statusCode"

      ]=>int(200)[

        "effectiveUri"

      ]=>string(35)"https://sns.eu-west-1.amazonaws.com"[

        "headers"

      ]=>array(4){

        [

          "x-amzn-requestid"

        ]=>string(36)"716dase5-f048-5d35-8af0-sf36ce583d95"[

          "content-type"

        ]=>string(8)"text/xml"[

          "content-length"

        ]=>string(3)"294"[

          "date"

        ]=>string(29)"Tue, 18 Jun 2019 19:31:28 GMT"

      }[

        "transferStats"

      ]=>array(1){

        [

          "http"

        ]=>array(1){

          [

            0

          ]=>array(0){


          }

        }

      }

    }

  }[

    "monitoringEvents": "Aws\Result": private

  ]=>array(0){


  }

}

php代码:


if(isset($_POST['gateeway'])){


    $sender_id = $_POST['sender_id'];

    $message = $_POST['message'];

    $topic = 'arn:aws:sns:eu-west-1:52732446504:Testing';


    try {

        $result = $sns->publish([

            'TargetArn' => $topic,

            'Message' => $message,

            'MessageAttributes' => [

                'AWS.SNS.SMS.SenderID' => [

                    'DataType' => 'String', 

                    'StringValue' => $sender_id,

                ],

                'AWS.SNS.SMS.SMSType' => [

                    'DataType' => 'String',

                    'StringValue' => 'Promotional',

                ]

            ]

        ]);

        var_dump($result);

    } catch (AwsException $e) {

        // output error message if fails

        error_log($e->getMessage());

    } 

}


摇曳的蔷薇
浏览 140回答 1
1回答

慕姐4208626

你可以得到这样的状态码$metaInfo = $result->get('@metadata');if($metaInfo ['statusCode'] === 200){  echo "Message Sent";}
打开App,查看更多内容
随时随地看视频慕课网APP