Php 如何从json解码中获取_id
这是我从mongodb获得的json:Php 如何从json解码中获取_id,php,json,mongodb,Php,Json,Mongodb,这是我从mongodb获得的json: object(stdClass)[6] public '572453d55addfab49090ea71' => object(stdClass)[7] public '_id' => object(stdClass)[8] public '$id' => string '572453d55addfab49090ea71' (length=24) public '
object(stdClass)[6]
public '572453d55addfab49090ea71' =>
object(stdClass)[7]
public '_id' =>
object(stdClass)[8]
public '$id' => string '572453d55addfab49090ea71' (length=24)
public 'location' =>
array (size=2)
0 => float 24.8615
1 => float 67.0099
为了访问位置,我必须在php中使用以下语句
$lat= $j->{'572453d55addfab49090ea71'}->location[0];
我想通过首先获取_id,然后使用上面的语句来实现通用性。我尝试了以下所有返回错误的语句:
echo $arr= json_encode(iterator_to_array($cursor));
echo var_dump(json_decode($arr));
$j = json_decode($arr,false);
$lat = $j->_id->id;
$lng = $j->id->location[1];
请告诉我如何解决这个问题使用另一个参数
true
和json\u decode()
,然后您将得到php数组格式的结果
使用下面的代码打印数组并将结果粘贴到此处,然后我会让您知道如何打印您的_id
$jsonDecode = json_decode($yourJson, true);
echo "<pre>"; print_r($jsonDecode);
最后使用:
你能显示你的json格式吗?@Irfan{“572453d55addfab49090ea71”:{“\u id”:{“$id”:“572453d55addfab49090ea71”},位置:[24.8615,67.0099]}echo var_dump(json_decode($arr))的输出是什么?尝试访问
id
作为$j->{'''u id'}->{'$id'}代码>@Alex不工作一行代码可以在注释中完成。你可以在上面看到。没关系,我下次会处理这件事。。谢谢你我为什么这么说,因为你可能会面临一些-ve标记,很多时候我都看到了它。@Anant,但我不得不添加一些关于json_decode()
的解释,并且进一步写了一行,这就是为什么,我把这个放在了答案中。这里是:Array([572453d55addfab49090ea71]=>Array([\u id]=>数组([$id]=>572453d55addfab49090ea71)[位置]=>数组([0]=>24.8615[1]=>67.0099]))
Array (
[572453d55addfab49090ea71] =>
Array (
[_id] =>
Array (
[$id] => 572453d55addfab49090ea71
)
[location] => Array ( [0] => 24.8615 [1] => 67.0099 )
)
)
$_id = array_column($jsonDecode, '_id');
echo $_id[0]['$id'];