Разбор многомерной строки JSON из URL - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь получить доступ к некоторым значениям в JSON, которые возвращаются с этого URL: https://api.crypto -bridge.org / api / v1 / ticker

По сути, я хочу получить последнее, объем, спросить и предложить цену для "id": "FROST_BTC" (например)

Сейчас я просто хочу вывести их на страницу php.

Как:

Volume = 0.13
Ask = 0.033
Bid = 0.035
Last = 0.034

Из-за количества данных на странице я совсем не уверен, как это сделать? Какие-нибудь мысли, примеры или чтения, чтобы я мог понять это?

PHP предпочтительнее, но открыт, чтобы попробовать / выучить что-нибудь.

1 Ответ

0 голосов
/ 09 мая 2018

Просто попробуйте так с php curl

<code><?php
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => "https://api.crypto-bridge.org/api/v1/ticker",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
    echo "cURL Error #:" . $err;
} else {
    $response_array = json_decode($response,1);
}
/*
# JUST FOR DEBUGGING PURPOSE
print '<pre>';
print_r($response_array);
print '
'; * / foreach ($ response_array as $ k => $ v) { echo "id = {$ v ['id']}, last = {$ v ['last']}, volume = {$ v ['volume']}, ask = {$ v ['ask']}, bid = {$ v ['bid']} "; echo PHP_EOL; } ?>

РЕДАКТИРОВАТЬ: Согласно комментарию

Путь 1 : используйте break; после печати 1-го ряда

foreach($response_array as $k=>$v){
    echo "id = {$v['id']}, last = {$v['last']}, volume = {$v['volume']}, ask = {$v['ask']}, bid = {$v['bid']}";
    echo PHP_EOL;  
    break;
}

Способ 2 захватить первый ряд, а затем использовать цикл, чтобы напечатать его

$first_row = $response_array[0];
foreach($first_row as $k=>$v){
    echo "$k = $v";
}

Способ 3 с использованием array_filter () для печати определенных строк

$vacek_required = array_filter($response_array, function ($var) {
    return ($var['id'] == 'WGR_BTC');
});

foreach($vacek_required as $k=>$v){
    echo "$k = $v";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...