user1468768 user1468768 - 2 months ago 5
JSON Question

Extracting information from a JSON string from PHP

Following is the JSON output

{
"bugs": [
{
"is_confirmed": true,
"cc": [

],
"deadline": null,
"qa_contact": "",
"last_change_time": "2016-09-12T04:57:53Z",
"creation_time": "2016-09-12T04:57:03Z",
"keywords": [

],
"classification": "Unclassified",
"assigned_to": "ashish.sureka@in.abb.com",
"priority": "Highest",
"is_open": true,
"creator": "ashish.sureka@in.abb.com",
"target_milestone": "---",
"creator_detail": {
"name": "ashish.sureka@in.abb.com",
"id": 1,
"real_name": "Ashish Sureka",
"email": "ashish.sureka@in.abb.com"
},
"is_cc_accessible": true,
"op_sys": "Windows",
"component": "TestComponent",
"status": "CONFIRMED",
"resolution": "",
"platform": "PC",
"depends_on": [

],
"groups": [

],
"summary": "Checking if Bugzilla REST API is working or not",
"cc_detail": [

],
"assigned_to_detail": {
"name": "ashish.sureka@in.abb.com",
"email": "ashish.sureka@in.abb.com",
"id": 1,
"real_name": "Ashish Sureka"
},
"alias": [

],
"whiteboard": "",
"version": "unspecified",
"url": "",
"see_also": [

],
"id": 1,
"dupe_of": null,
"severity": "critical",
"product": "TestProduct",
"blocks": [

],
"is_creator_accessible": true,
"flags": [

]
}
],
"faults": [

]
}


of my program

// Location of the resource (Bug Report)
$url = "http://localhost:8080/bugzilla/rest/bug/1";

// Instantiate an instance of cURL
$curl = curl_init();

// cURL settings, URL to send request to
curl_setopt($curl, CURLOPT_URL, $url);

// cURL settings, Return the response as a string
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

// Execute the cURL request
$result = curl_exec($curl);

// Close the cURL request
curl_close($curl);

//echo "<BR>Product: ". $result->product;
//echo "<BR>Component: ".$result->component;
//echo "<BR>Version: ".$result->version;
//echo "<BR>Summary: ".$result->summary;
//echo "<BR>Priority: ".$result->priority;
//echo "<BR>Operating System".$result->op_sys;


I tried using
json_encode
and
json_decode
functions and tried to extract properties from object or get information from array but not able to get the product, component, version, summary, priority etc from the
$result

Answer

Try this

$data = json_decode('your json_code',true);
echo $data['bugs'][0]['component']."<br>";
echo $data['bugs'][0]['product']."<br>";
echo $data['bugs'][0]['version']."<br>";
echo $data['bugs'][0]['summary']."<br>";

Output

TestComponent
TestProduct
unspecified
Checking if Bugzilla REST API is working or not

In json_decode When TRUE, returned objects will be converted into associative arrays.http://php.net/manual/en/function.json-decode.php

Comments