How to get a JSON data in this case

1

I can not get a JSON data in this case:

Use this site only for your own tests

link

I tried some combinations:

            $url = "https://devjp.xyz/data.json";
            $json = file_get_contents($url);
            $json_data = json_decode($json, true);


            echo $json_data['results'][0]['bitcoin'][0]['mercadobitcoin']['buy'];   
    
asked by anonymous 13.05.2018 / 19:23

1 answer

2

With json_decode and file_get_contents you will not be able to because it is locked.

My solution:

You can use a stream that will read the file and convert it to string for use. See:

// abro uma stream com fopen
$stream = fopen("https://devjp.xyz/data.json", 'r');
$conteudo = stream_get_contents ($stream, -1); // insiro o conteúdo em uma variável
fclose($stream); // fecho o stream

// após pegar o conteúdo eu procuro a palavra 'mercadobitcoin'
// a partir de então o restante do conteúdo será resgatado a partir daquela palavra
$mercadobitcoin = strstr($conteudo, 'mercadobitcoin');

// a mesma coisa acontece aqui
$buy = strstr($mercadobitcoin, 'buy');

// separo para deixar apenas parte que interessa '$val[0]'
$val = explode(",", $buy);

// a mesma coisa, mas agora eu separo a string buy da string 32399.99
$valor = explode(":", $val[0]);

// mostro o valor
echo $valor[1]; // 32399.99

Unfortunately you will have a job to create a function that will standardize this.

I hope that helps you.

    
13.05.2018 / 21:01