PHP,从json提取某些字符串

时间:2018-07-03 07:42:26

标签: php json

我需要帮助以使用php从json http响应中获取字符串。 json包含2组带有大括号标记的数据。响应如下所示

{ "token": "579ca74b-d82a-4c17-aff6-60f440680541", "redirect_url": "https://app.sandbox.midtrans.com/snap/v2/vtweb/579ca74b-d82a-4c17-aff6-60f440680541" }

每个用户的令牌和URL都不相同,并且它们的长度也不同。我只需要获取不含这些括号,逗号,双引号和标签的url(作为字符串)。我已将响应结果放入变量中,并尝试使用str_replace,但我没有请确保正确执行操作,因为token是动态的。有人可以帮我吗?

<?php
$unnecessary = array('{', '}', '"', 'token:', 'redirect_url');

$new = str_replace($unnecessary, "", $old)

?>

2 个答案:

答案 0 :(得分:2)

  

我只需要获取网址

$json = json_decode($json_str, true);
$url = $json['redirect_url'];

答案 1 :(得分:2)

只需解码JSON字符串并获取所需的值:

<?php
$jsonString = '
  {
    "token": "579ca74b-d82a-4c17-aff6-60f440680541",
    "redirect_url": "https://app.sandbox.midtrans.com/snap/v2/vtweb/579ca74b-d82a-4c17-aff6-60f440680541"
  }
';

$json = json_decode($jsonString);

echo $json->token;
echo $json->redirect_url;