试图获取Json结果

时间:2013-10-16 09:04:00

标签: php json

我正在尝试从获取的json结果中获取单个值

{
  "_total": 1,
  "values": [{
    "id": 123456,
    "name": "Example Technologies "
  }]
}

现在,我需要获得_total值。为此我正在使用

echo $res->_total;

给了我 Notice: Trying to get property of non-object 如果我尝试 echo $res['_total']; 给了我

Warning: Illegal string offset '_total'

所以,以什么方式,我可以获得_total值。

请帮助我。提前致谢!

5 个答案:

答案 0 :(得分:2)

这样做:

$obj = json_decode($res);
echo $obj->_total;

您需要解码JSON数据。

答案 1 :(得分:1)

您似乎没有json_decode() JSON字符串,或$res不是json_decode()的结果。

示例:

$json = '{
  "_total": 1,
  "values": [{
    "id": 123456,
    "name": "Example Technologies "
  }]
}';

$res = json_decode($json);

echo $res->_total;

答案 2 :(得分:1)

首先需要通过json_decode运行字符串http://uk3.php.net/json_decode 这将返回一个数组。

答案 3 :(得分:1)

假设数据是

$data = '{"category_id":"10","username":"agent1","password":"82d1b085f2868f7834ebe1fe7a2c3aad:fG"}';

然后你想得到特定的参数

$obj = json_decode($data);

after 
$obj->{'category_id'} , $obj->{'username'} , $obj->{'password'}

可能对你有帮助!

答案 4 :(得分:0)

这是你的字符串,

 $data = '{ "_total": 1, "values": [{ "id": 123456, "name": "Example Technologies " }] }';
$test = (array)json_decode($data);
 echo '<pre>';
 print_r(objectToArray($test));
 die;

功能就在这里

function objectToArray($d) {
        if (is_object($d)) {
            // Gets the properties of the given object
            // with get_object_vars function
            $d = get_object_vars($d);
        }

        if (is_array($d)) {
            /*
            * Return array converted to object
            * Using __FUNCTION__ (Magic constant)
            * for recursive call
            */
            return array_map(__FUNCTION__, $d);
        }
        else {
            // Return array
            return $d;
        }
    }

可能会帮助你!!