Php 正在尝试获取Json结果
我试图从获得的json结果中获取各个值Php 正在尝试获取Json结果,php,json,Php,Json,我试图从获得的json结果中获取各个值 { "_total": 1, "values": [{ "id": 123456, "name": "Example Technologies " }] } 现在,我需要得到\u total值。因为我用的是 echo $res->_total; 这让我 注意:尝试获取非对象的属性 如果我想 echo$res[“总计] 给我 Warning: Illegal string offset '_total' 那么,通过什么
{
"_total": 1,
"values": [{
"id": 123456,
"name": "Example Technologies "
}]
}
现在,我需要得到\u total
值。因为我用的是
echo $res->_total;
这让我
注意:尝试获取非对象的属性
如果我想
echo$res[“总计]代码>
给我
Warning: Illegal string offset '_total'
那么,通过什么方式,我可以得到\u总计
值
请帮帮我。提前谢谢 这样做:
$obj = json_decode($res);
echo $obj->_total;
您需要对JSON数据进行解码。似乎您不知道JSON字符串,或者,$res
不是源代码
例如:
$json = '{
"_total": 1,
"values": [{
"id": 123456,
"name": "Example Technologies "
}]
}';
$res = json_decode($json);
echo $res->_total;
您需要首先通过json_decode运行字符串
它将返回一个数组。假设数据为
$data = '{"category_id":"10","username":"agent1","password":"82d1b085f2868f7834ebe1fe7a2c3aad:fG"}';
然后你想得到特定的参数
$obj = json_decode($data);
after
$obj->{'category_id'} , $obj->{'username'} , $obj->{'password'}
也许这对你有帮助 这是你的绳子
$data = '{ "_total": 1, "values": [{ "id": 123456, "name": "Example Technologies " }] }';
$test = (array)json_decode($data);
echo '<pre>';
print_r(objectToArray($test));
die;
也许它能帮助你 为了向您澄清这一点:$res只包含一个字符串值,它恰好是json格式的。这解释了您所遇到的错误。PHP不能直接处理JSON字符串。。您需要对它们进行json_decode(),这样才能拥有php对象/数组并使用它。但是数据是{“_total”:1,“values”:[{“id”:123456,“name”:“Example Technologies”}]}
-那么为什么要假设其他东西呢?json_decode()
默认情况下返回一个对象。必须将第二个参数作为TRUE
传递才能返回数组。
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;
}
}