How to use cURL to get jSON data and decode the data? How to use cURL to get jSON data and decode the data? json json

How to use cURL to get jSON data and decode the data?


I think this one will answer your question :P

$url="https://.../api.php?action=getThreads&hash=123fajwersa&node_id=4&order_by=post_date&order=‌​desc&limit=1&grab_content&content_limit=1";

Using cURL

//  Initiate curl$ch = curl_init();// Will return the response, if false it print the responsecurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);// Set the urlcurl_setopt($ch, CURLOPT_URL,$url);// Execute$result=curl_exec($ch);// Closingcurl_close($ch);// Will dump a beauty json :3var_dump(json_decode($result, true));

Using file_get_contents

$result = file_get_contents($url);// Will dump a beauty json :3var_dump(json_decode($result, true));

Accessing

$array["threads"][13/* thread id */]["title"/* thread key */]

And

$array["threads"][13/* thread id */]["content"/* thread key */]["content"][23/* post id */]["message" /* content key */];


to get the object you do not need to use cURL (you are loading another dll into memory and have another dependency, unless you really need curl I'd stick with built in php functions), you can use one simple php file_get_contents(url) function:http://il1.php.net/manual/en/function.file-get-contents.php

$unparsed_json = file_get_contents("api.php?action=getThreads&hash=123fajwersa&node_id=4&order_by=post_date&order=desc&limit=1&grab_content&content_limit=1");$json_object = json_decode($unparsed_json);

then json_decode() parses JSON into a PHP object, or an array if you pass true to the second parameter. http://php.net/manual/en/function.json-decode.php

For example:

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';var_dump(json_decode($json));           // Objectvar_dump(json_decode($json, true));     // Associative array


You can Use this for Curl:

function fakeip()  {      return long2ip( mt_rand(0, 65537) * mt_rand(0, 65535) );   }  function getdata($url,$args=false) {     global $session;     $ch = curl_init();     curl_setopt($ch, CURLOPT_URL,$url);     curl_setopt($ch, CURLOPT_HTTPHEADER, array("REMOTE_ADDR: ".fakeip(),"X-Client-IP: ".fakeip(),"Client-IP: ".fakeip(),"HTTP_X_FORWARDED_FOR: ".fakeip(),"X-Forwarded-For: ".fakeip()));     if($args)     {         curl_setopt($ch, CURLOPT_POST, 1);         curl_setopt($ch, CURLOPT_POSTFIELDS,$args);     }     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);     //curl_setopt($ch, CURLOPT_PROXY, "127.0.0.1:8888");     $result = curl_exec ($ch);     curl_close ($ch);     return $result; } 

Then To Read Json:

$result=getdata("https://example.com");

Then :

///Deocde Json$data = json_decode($result,true);///Count             $total=count($data);             $Str='<h1>Total : '.$total.'';             echo $Str;//You Can Also Make In Table:             foreach ($data as $key => $value)              {          echo '  <td><font  face="calibri"color="red">'.$value[type].'   </font></td><td><font  face="calibri"color="blue">'.$value[category].'   </font></td><td><font  face="calibri"color="green">'.$value[amount].'   </font></tr><tr>';           }           echo "</tr></table>";           }

You Can Also Use This:

echo '<p>Name : '.$data['result']['name'].'</p>      <img src="'.$data['result']['pic'].'"><br>';

Hope this helped.