【问题标题】:Extracting json string with PHP用PHP提取json字符串
【发布时间】:2021-05-10 09:18:56
【问题描述】:

我从 API 收到的 JSON 字符串

{"accessTokenResponse":{"token":"562371e99fda4296a380547cb5bf9fab","token_type":"Bearer","expires_in_seconds":"77476","client_id":"LTcyMDI1NDI0OQ==","responseStatus":{"code":"100000","message":"Service operation completed successfully","messageDetails":"Access token assigned."}}}

我想提取的信息

562371e99fda4296a380547cb5bf9fab //-->The Token

我的尝试

<?php
    $user = "LTcyMDI1NDI0OQ==";
    $password = "MjAzMDI5MTU";
    $returnFormat = "json";
    $url = "https://sandbox.dhlecommerce.asia/rest/v1/OAuth/AccessToken?clientId=".$user.
    "&password=".$password."&returnFormat=".$returnFormat."";
    $method = "GET";
    $headers = array(
        "content-type: application/json",
    );

    $curl = curl_init();

    curl_setopt_array($curl, array(
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_URL => $url,
        CURLOPT_CUSTOMREQUEST => $method,
        CURLOPT_HTTPHEADER => $headers,
    ));

    $response = curl_exec($curl);
    $err = curl_error($curl);   

    $result = json_decode($response);

    curl_close($curl);   

    if ($err) {
        echo "cURL Error #:" . $err;
    } else {
        echo $result->token;                
    }
?>

输出:

Warning: Undefined property: stdClass::$token in C:\xampp\htdocs\Tracking\getToken.php on line 31

我收到的 JSON 字符串格式是否错误?

为什么它说未定义的属性?感谢任何帮助。谢谢!

我参考过的帖子: How do I extract data from JSON with PHP?

【问题讨论】:

  • 当您对对象的结构有疑问时,最好var_dump 您的对象以获得良好的视觉表示。这将向您表明您在响应中忘记了一个级别。或者,您可以随时获取 JSON 响应并将其粘贴到在线 JSON 格式化程序中,以获得整洁的视觉结构,这应该显示相同。
  • 感谢您的建议。祝你有美好的一天!

标签: php json curl get


【解决方案1】:

tokenaccessTokenResponse 对象中,所以:

echo $result->accessTokenResponse->token;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 2017-04-01
    • 2014-06-24
    • 1970-01-01
    相关资源
    最近更新 更多