【问题标题】:Guzzle http get single value from json array [duplicate]Guzzle http从json数组中获取单个值[重复]
【发布时间】:2019-03-03 15:41:20
【问题描述】:

所以我目前正在获取 json 数组响应:

{"state":"TO_BE_CREATED","btc_amount":0.1,"btc_dest_address":"1FhnVJi2V1k4MqXm2nHoEbY5LV7FPai7bb","uuid":"xmrto-YHxJap"}

这是我的 php 代码:

$client = new GuzzleHttp\Client();
$data   = [
    "btc_dest_address"    => '1FhnVJi2V1k4MqXm2nHoEbY5LV7FPai7bb',
    "btc_amount"          => '0.1'
];

$result = $client->post('https://xmr.to/api/v2/xmr2btc/order_create/', ['json' => $data]);


print "<pre>";
print_r( $result->getBody()->getContents() );
print "</pre>";

但我只想从该 json 中获取特定值,例如 uuid,我该怎么做?

【问题讨论】:

  • 它不是重复的,因为它不适用于 guzzle
  • 什么不起作用?!您可以打印结果(正如我们在您的问题中看到的那样),为什么不能将该输出放入json_decode()
  • @Gongas json_decode(),原生 PHP 函数,不能与 Guzzle 一起使用?
  • 不是我们使用原生 php 的方式,它会返回 null,matt 已经回答了我需要的内容
  • 我作为副本提供的问题与 matt 在他们的回答中所做的完全一样,因为它向您展示了如何使用 json_decode()。你必须自己思考一下才能让它发挥作用。

标签: php json guzzle


【解决方案1】:

看起来你只需要使用json_decode 将它变成你可以使用的对象:

$data = json_decode($response->getBody());
echo $data->uuid;

这是你要找的吗?

【讨论】:

  • 非常感谢,这正是我所需要的
  • 没问题。如果它对您来说是一个可行的解决方案,请将其标记为已回答,以便其他人也知道。
  • 刚刚发芽了,谢谢
猜你喜欢
  • 2015-08-30
  • 2017-12-13
  • 1970-01-01
  • 2018-07-11
  • 2021-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-04
相关资源
最近更新 更多