我想获得' datelog_collected'的值。和'价值'字段:
{ "数据":[ { " datelog_collected":" 2016-09-01 13:57:13", "价值":" 36.06" } ] }
到目前为止,我尝试使用json_decode但没有成功。我希望这个作为一个对象。感谢
答案 0 :(得分:1)
如果您使用
$object = json_decode($your_JSON_string);
datelog_collected
和value
将不作为结果$object
的属性。
该对象只有一个属性data
。 data
是一个数字索引数组(即JSON中的方括号),它包含一个对象。您想要的属性属于那个对象。
所以你可以通过$object->data[0]->datelog_collected
等获得你想要的东西。
答案 1 :(得分:0)
如果您使用json_decode:
$res=json_decode('{ "data": [ { "datelog_collected": "2016-09-01 13:57:13", "value": "36.06" } ] }');
$ res将成为一个对象,因此您可以访问:$res->data
如果你添加第二个参数true
(json as array)
$res=json_decode('{ "data": [ { "datelog_collected": "2016-09-01 13:57:13", "value": "36.06" } ] }', true);
$ res将是一个数组,因此您可以访问:$res["data"]
答案 2 :(得分:-3)
试试这个
<?php
$datelog_collected=array();
$datelog_value=array();
$data='{ "data": [ { "datelog_collected": "2016-09-01 13:57:13", "value": "36.06" } ] }';
$data_array=json_decode($data,true);//true create array if you want object then remove true
if(is_array($data_array)&&!empty($data_array))
{
foreach ($data_array as $key => $value) {
if(is_array($value))
{
foreach ($value as $key1 => $value1) {
foreach ($value1 as $key2 => $value2) {
if($key2=="datelog_collected")
{
$datelog_collected[]=$value2;
}else{
$datelog_value[]=$value2;
}
}
}
}
}
//here is datelog_collected
var_dump($datelog_collected);
echo "<br/>-----------------------<br/>";
//here is datelog_value
var_dump($datelog_value);
}
?>