如何使用PHP获取JSON数据

Jak*_*ake 1 php json dictionary

我是PHP的新手,我只是想从JSON字典中获取一个值.这看起来很简单(至少对我来说),但我遇到了麻烦.我查看了PHP文档JSON_decode,我还查看了" 从远程服务器解析JSON数据 ",但这并没有达到我想要的效果.它将我想要的字典项返回为0然后只是吐出JSON文件.然后我看了" 用PHP从JSON获取数据 "并且只返回任何内容.

JSON示例

{ 
  "ask": 344.28,
  "bid": 343.89,
  "last": 343.97
}
Run Code Online (Sandbox Code Playgroud)

第一次尝试

$jsoncontent=file_get_contents("https://api.bitcoinaverage.com/ticker/global/USD");`
$priceusd=json_decode($json-content);

$lastusd=$priceusd['last'];

echo "Decoded JSON:\n";
echo "$priceusd\n";
echo "Raw JSON:\n";
echo "$jsoncontent\n";
Run Code Online (Sandbox Code Playgroud)

第二次尝试

$result=file_get_contents("https://api.bitcoinaverage.com/ticker/global/USD");
 $result = iconv('UTF-16', 'UTF-8', $result);
 $json = json_decode($result);

 echo $json->last;
Run Code Online (Sandbox Code Playgroud)

我想要的只是URL中JSON中的一个字典项的值.

谢谢!

Bar*_*mar 7

假设$data包含从服务器返回的内容,您可以:

$object = json_decode($data);
$last = $object->last;
Run Code Online (Sandbox Code Playgroud)

要么:

$array = json_decode($data, true);
$last = $array['last'];
Run Code Online (Sandbox Code Playgroud)

当你省略第二个参数时json_decode,它返回一个对象,然后你访问你想要的部分作为对象属性.如果给出第二个参数true,它将返回一个关联数组,并使用数组表示法访问该元素.