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=js开发者_如何学Pythonon_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
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;
}
Try
$input = file_get_contents("http://localhost/fish/fish-json.php");
$json=json_decode($input);
echo $json['fish_id'];
try echo $json['fish_id'];
i might suspect it convert it to an array
try this first:
echo $json;
to check if you got valid json. Eventually, the php in fish-json.php was not executed.
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'];
精彩评论