So I am trying to pull data from a website api, they didn’t have any documentation for what I am trying to do..
So what I am trying to pull is the 4JNET Price. “price”:”0.000000011816″
What Iv’e tried:
<?php //4JNET $content = file_get_contents('https://www.lbank.site/request/tick? symbol=alts'); preg_match('#{"symbol":"4jnet/usdt"(.*)"usd"#', $content, $match); $Price = $match[1]; echo $Price; ?>
Here is some sample data…
{“symbol”:”4jnet/usdt”,”vol”:”5078919159375.1975″,”amount”:”58729.3647″,”c”:{“price”:”0.000000011816″,”usd”:”0.00″,”cny”:”0.00″},”toCny”:”6.36″,”change”:”-5.98″,”h”:{“price”:”0.000000015042″,”usd”:”0.00″,”cny”:”0.00″},”l”:{“price”:”0.000000010099″,”usd”:”0.00″,”cny”:”0.00″},”dir”:”buy”,”toUsd”:”1.00″,”platform”:”LBANK”,”timestamp”:1639627875492},{“symbol”:”doe/usdt”,”vol”:”6164668.8295″,”amount”:”323916.8607″,”c”:{“price”:”0.0606″,”usd”:”0.06060″,”cny”:”0.38589″},”toCny”:”6.36790″,”change”:”33.48″,”h”:{“price”:”0.0625″,”usd”:”0.06250″,”cny”:”0.39799″},”l”:{“price”:”0.0433″,”usd”:”0.04330″,”cny”:”0.27573″},”dir”:”buy”,”toUsd”:”1.00000″,”platform”:”LBANK”,”timestamp”:1639627874171},{“symbol”:”dydx/usdt”,”vol”:”819823.0898″,”amount”:”6853463.1339″,”c”:{“price”:”8.4729″,”usd”:”8.47290″,”cny”:”53.95457″},”toCny”:”6.36790″,”change”:”4.33″,”h”:{“price”:”8.8255″,”usd”:”8.82550″,”cny”:”56.19990″},”l”:{“price”:”7.7505″,”usd”:”7.75050″,”cny”:”49.35440″},”dir”:”sell”,”toUsd”:”1.00000″,”platform”:”LBANK”,”timestamp”:1639627873783},{“symbol”:”lid/eth”,”vol”:”0.0000″,”amount”:”0.0000″,”c”:{“price”:”0.00889996″,”usd”:”35.74499″,”cny”:”227.62057″},”toCny”:”25575.46044″,”change”:”0.00″,”h”:{“price”:”0.00889996″,”usd”:”35.74499″,”cny”:”227.62057″},”l”:{“price”:”0.00889996″,”usd”:”35.74499″,”cny”:”227.62057″},”dir”:”buy”,”toUsd”:”4016.31000″,”platform”:”LBANK”,”timestamp”:1639627875679},{“symbol”:”lunapad/usdt”,”vol”:”16117157.1174″,”amount”:”453319.2567″,”c”:{“price”:”0.0362″,”usd”:”0.03620″,”cny”:”0.23051″},”toCny”:”6.36790″,”change”:”46.56″,”h”:{“price”:”0.0390″,”usd”:”0.03900″,”cny”:”0.24834″},”l”:{“price”:”0.0219″,”usd”:”0.02190″,”cny”:”0.13945″},”dir”:”sell”,”toUsd”:”1.00000″,”platform”:”LBANK”,”timestamp”:1639627874066},{“symbol”:”tlm/usdt”,”vol”:”4631316.5073″,”amount”:”1003428.9213″,”c”:{“price”:”0.2237″,”usd”:”0.22370″,”cny”:”1.42449″},”toCny”:”6.36790″,”change”:”4.78″,”h”:{“price”:”0.2296″,”usd”:”0.22960″,”cny”:”1.46206″},”l”:{“price”:”0.2006″,”usd”:”0.20060″,”cny”:”1.27740″},”dir”:”buy”,”toUsd”:”1.00000″,”platform”:”LBANK”,”timestamp”:1639627875510},
Advertisement
Answer
Try this code:
//4JNET $content = file_get_contents('https://www.lbank.site/request/tick?symbol=alts'); // convert the received json to object in this case $jsontoobject = json_decode($content); $result = null; // walk the array [data] inside the jsontoobject foreach ($jsontoobject->data as $num => $object) { // if matches the desired symbol if ($object->symbol == '4jnet/usdt') { // asign it to a var $result = $object; // finish the walk break; } } // show what that symbol object contains print_r($result);
It will output the matched object like this:
stdClass Object ( [symbol] => 4jnet/usdt [vol] => 5124704593591.1719 [amount] => 59424.1760 [c] => stdClass Object ( [price] => 0.000000012819 [usd] => 0.00 [cny] => 0.00 ) [toCny] => 6.36 [change] => 9.53 [h] => stdClass Object ( [price] => 0.000000015042 [usd] => 0.00 [cny] => 0.00 ) [l] => stdClass Object ( [price] => 0.000000010099 [usd] => 0.00 [cny] => 0.00 ) [dir] => buy [toUsd] => 1.00 [platform] => LBANK [timestamp] => 1639634136197 )
And then you can access to any value like this:
// access to specific value in the object echo $result->c->price;
Output:
0.000000012088