Reputation: 191
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": "[email protected]",
"priority": "Highest",
"is_open": true,
"creator": "[email protected]",
"target_milestone": "---",
"creator_detail": {
"name": "[email protected]",
"id": 1,
"real_name": "Ashish Sureka",
"email": "[email protected]"
},
"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": "[email protected]",
"email": "[email protected]",
"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
Upvotes: 1
Views: 62
Reputation: 717
I think you have to look to the structure of the JSON. It is a valid JSON so you can use PHP's function json_decode($result) to parse the JSON into an object.
Then use var_dump() to see a clear overview of the object. There you can see how you can get the information.
Example:
$result = json_decode($result);
var_dump($result);
//Product:
$result->bugs[0]->product;
//Component:
$result->bugs[0]->component;
JSON validator: http://jsonlint.com/
Upvotes: 1
Reputation: 3322
Try this:
<?php
$str = '{
"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":"[email protected]",
"priority":"Highest",
"is_open":true,
"creator":"[email protected]",
"target_milestone":"---",
"creator_detail":{
"name":"[email protected]",
"id":1,
"real_name":"Ashish Sureka",
"email":"[email protected]"
},
"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":"[email protected]",
"email":"[email protected]",
"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":[
]
}';
$result = json_decode($str);
echo $result->bugs[0]->product;
echo PHP_EOL;
echo $result->bugs[0]->component;
echo PHP_EOL;
echo $result->bugs[0]->version;
Output:
TestProduct
TestComponent
unspecified
Upvotes: 1
Reputation: 7294
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
Upvotes: 2