hunter
hunter

Reputation: 1101

how to parse json into php

i have a json data retrieved from data base i.e

$result=array();
$query="SELECT * FROM fish";
$result1 = mysql_query($query, $conn);
while ($table = mysql_fetch_array($result1, MYSQL_ASSOC)){
   $result[]=$table;
}
   echo json_encode($result);
and this give me the result
[{"fish_id":"1","name":"first fish update","info":"this is my first fish update","image":"http:\/\/www.localhost\/cafe\/pics\/logout (1).gif"}]

but from another page when i call this json data i.e

$input = file_get_contents("http://localhost/fish/fish-json.php");
$json=json_decode($input);
echo $json->fish_id;

it give me the error

Notice: Trying to get property of non-object in /var/www/fish/json-to-php.php on line 13 Call Stack: 0.0005 318764 1. {main}() /var/www/fish/json-to-php.php:0

Upvotes: 2

Views: 6903

Answers (5)

ajreal
ajreal

Reputation: 47321

Is an array of object, so

echo $json[0]->fish_id;

To loop

if (!is_array($json)) die('...');
foreach ($json as $key=>$fish)
{
  echo $fish->fish_id;
}

Upvotes: 5

Kir
Kir

Reputation: 8111

By default json_decode returns an stdClass object. You have to give a second parameter for this function TRUE.

$json=json_decode($input, TRUE);
echo $json[0]['fish_id'];

Upvotes: 0

Van Coding
Van Coding

Reputation: 24534

try this first:

echo $json;

to check if you got valid json. Eventually, the php in fish-json.php was not executed.

Upvotes: 0

Breezer
Breezer

Reputation: 10490

try echo $json['fish_id']; i might suspect it convert it to an array

Upvotes: 0

Codler
Codler

Reputation: 11256

Try

$input = file_get_contents("http://localhost/fish/fish-json.php");
$json=json_decode($input);
echo $json['fish_id'];

Upvotes: 0

Related Questions