在PHP中读取JSON数据

时间:2014-09-30 05:53:26

标签: php json parsing laravel

我有一个像下面这样的JSON对象,它存储在一个名为$product的变量中。

{"id":30}

当我尝试访问存储的值时,我收到以下错误:

  

尝试获取非对象的属性

这是我正在做的事情:

echo $product->id;

好的伙计们,对于野鹅追逐感到抱歉。显然$products是一个数组而不是JSON数据,这真的很奇怪,因为print_r($products)echo $products给出了不同的结果。

结果可以在这里查看:

results

我正在使用Laravel,通常laravel从SQL查询中返回一个不错的JSON对象,我必须在某处更改某些内容,这就是为什么会发生这种情况。感谢。

4 个答案:

答案 0 :(得分:1)

尝试使用 json_decode 功能

$product = '{"id":30}';
$t = json_decode($product);
echo $t->id;exit;

答案 1 :(得分:0)

您可以将 json_decode 用于您的对象。

  

采用JSON编码的字符串并将其转换为PHP变量。

<强>使用

print_r(json_decode($obj, true));
var_dump(json_decode($obj));

答案 2 :(得分:0)

尝试以下示例:

<?php
$product = '{"id": 30}';

$obj = json_decode(json_encode($product));  // or json_decode(json_encode($product), true);
echo $obj->{'id'};  // or echo $obj->id
?> 

答案 3 :(得分:0)

第一个例子对我有用,请确保PHP支持json_decode()函数。 或者你可以试试这个:

$product = '{"id":30}';
$t = json_decode($product, true);
echo $t["id"];

传递true值会将其转换为数组。