تحليل بيانات جسون من خادم بعيد
سؤال
كنت أتساءل عما إذا كان هناك أي طريقة لجعل محلل في فب الذي يحصل على القيم من هذا الموقع https://btc-e.com/api/2/btc_usd/ticker
ويحدد لهم كمتغيرات في رمز فب?
لقد نظرت إلى موزعي فب قليلا والشيء الوحيد الذي وجدت كان موزعي أن صدى جميع المعلومات على موقع على شبكة الانترنت.
المحلول
منذ أن رابط إرجاع JSON
الرد:
<?php
$content=file_get_contents("https://btc-e.com/api/2/btc_usd/ticker");
$data=json_decode($content);
//do whatever with $data now
?>
نصائح أخرى
يمكنك استخدام file_get_contents
للحصول على البيانات من عنوان ورل و json_decode
لتحليل النتيجة ، لأن الموقع الذي قمت بربطه هو إرجاع جسون صفيف ، التي يمكن تحليلها من قبل فب أصلا.
مثال:
$bitcoin = json_decode(file_get_contents("https://btc-e.com/api/2/btc_usd/ticker"), true);
في ال $bitcoin
متغير سيكون لديك مجموعة النقابي مع قيم سلسلة جسون.
النتيجة:
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)
}
}
تسمى البيانات الموجودة على تلك الصفحة جسون (تدوين كائن جافا سكريبت) (ليس الإخراج كما جسون نوع مايم ، ولكن يتم تشكيلها مثل جسون).
إذا كنت تعرف أن البيانات ستكون جسون ، يمكنك الحصول عليها كسلسلة من الصفحة (باستخدام على سبيل المثال file_get_contents
وظيفة) وفك ذلك إلى مجموعة النقابي مع json_decode
وظيفة:
<?php
$dataFromPage = file_get_contents($url);
$data = json_decode($dataFromPage, true);
// Then just access the data from the assoc array like:
echo $data['ticker']['high'];
// or store it as you wish:
$tickerHigh = $data['ticker']['high'];
<?
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"];
?>