从远程服务器解析JSON数据

时间:2014-01-09 13:12:05

标签: php json parsing bitcoin

我想知道是否有办法在PHP中创建一个Parser,从中获取此站点https://btc-e.com/api/2/btc_usd/ticker的值并将它们设置为php代码中的变量?

我已经看了一下php解析器,我发现的唯一一个解析器可以回显网站上的所有信息。

4 个答案:

答案 0 :(得分:9)

由于该网址返回JSON响应:

<?php

$content=file_get_contents("https://btc-e.com/api/2/btc_usd/ticker");
$data=json_decode($content);
//do whatever with $data now
?>

答案 1 :(得分:2)

您可以使用file_get_contents从URL获取数据,json_decode来解析结果,因为您链接的网站正在返回JSON数组,可以通过php本地。

示例:

$bitcoin = json_decode(file_get_contents("https://btc-e.com/api/2/btc_usd/ticker"), true);

$bitcoin变量中,您将拥有一个带有JSON字符串值的关联数组。

结果:

array(1) {
  ["ticker"]=>
  array(10) {
    ["high"]=>
    float(844.90002)
    ["low"]=>
    int(780)
    ["avg"]=>
    float(812.45001)
    ["vol"]=>
    float(13197445.40653)
    ["vol_cur"]=>
    float(16187.2271)
    ["last"]=>
    float(817.601)
    ["buy"]=>
    float(817.951)
    ["sell"]=>
    float(817.94)
    ["updated"]=>
    int(1389273192)
    ["server_time"]=>
    int(1389273194)
  }
}

答案 2 :(得分:2)

<?
function GetJsonFeed($json_url)
{
$feed = file_get_contents($json_url);
return json_decode($feed, true);
}
$LTC_USD = GetJsonFeed("https://btc-e.com/api/2/ltc_usd/ticker");
$LTC_USD_HIGH = $LTC_USD["ticker"]["last"];

$BTC_USD = GetJsonFeed("https://btc-e.com/api/2/btc_usd/ticker");
$BTC_USD_HIGH = $BTC_USD["ticker"]["last"];
?>

答案 3 :(得分:1)

该页面上的数据称为 Json JavaScript Object Notation)(它不作为json mime类型输出,但它的形式类似于json)。
如果您知道数据将是json,您可以从页面中获取它作为字符串(例如使用file_get_contents函数)并使用{{将其解码为关联数组1}}功能:

json_decode