在PHP中解码JSON可以';t访问密钥

在PHP中解码JSON可以';t访问密钥,php,decode,json,Php,Decode,Json,我有一个JSON结果: [ { "_id" : { "$oid" : "5237d438e4b07666dcca4896"} , "username" : "user" , "password" : "asdf"} ] 从GET请求返回的。我正在尝试解码此结果,我似乎无法访问用户名或密码密钥。这就是我所尝试的: $obj = json_decode($result[0]); echo $obj->username; 但是,它似乎每次都返回整个结果(数组) 尝试使用以下方法:

我有一个JSON结果:

[ { "_id" : { "$oid" : "5237d438e4b07666dcca4896"} , 
    "username" : "user" , "password" : "asdf"} ]
从GET请求返回的。我正在尝试解码此结果,我似乎无法访问用户名或密码密钥。这就是我所尝试的:

$obj = json_decode($result[0]);
echo $obj->username;
但是,它似乎每次都返回整个结果(数组)

尝试使用以下方法:

$json = json_decode($result);
echo $json[0]->username;
完整示例:

<?php
header('Content-Type: text/plain; charset=utf-8');

$result = '[ { "_id" : { "$oid" : "5237d438e4b07666dcca4896"} , 
    "username" : "user" , "password" : "asdf"} ]';

$json = json_decode($result);
echo $json[0]->username;
?>
尝试使用以下方法:

$json = json_decode($result);
echo $json[0]->username;
完整示例:

<?php
header('Content-Type: text/plain; charset=utf-8');

$result = '[ { "_id" : { "$oid" : "5237d438e4b07666dcca4896"} , 
    "username" : "user" , "password" : "asdf"} ]';

$json = json_decode($result);
echo $json[0]->username;
?>

是的,您是对的,json_decode函数返回一个数组。您需要从该数组中获取值。在上述情况下,您需要获取用户名,如下所示:

echo $json_encode[0]->username;;
取决于您的json


是的,您是对的,json\u解码函数返回一个数组。您需要从该数组中获取值。在上述情况下,您需要获取用户名,如下所示:

echo $json_encode[0]->username;;
取决于您的json


如果向json\u decode添加第二个参数boolan true 像

然后您将获得关联数组而不是对象

并且可以通过如下键访问值

echo $obj['username'];

如果将第二个参数boolan true添加到json_decode 像

然后您将获得关联数组而不是对象

并且可以通过如下键访问值

echo $obj['username'];


无论我是否使用
0
索引,结果都是一样的。无论我是否使用
0
索引,结果都是一样的。你不能访问具有
0
索引的对象。@Bora globally$obj是一个包含objects@Bora修正为更容易理解。我错过了
[]
括号(抱歉;)您无法访问索引为
0
的对象。@Bora全局$obj是一个包含objects@Bora修正为更容易理解。我错过了
[]
括号(抱歉;)它返回一个数组,但用户名不是数组键它返回一个数组,但用户名不是数组键他想用用户名和密码等键直接访问值。从他的尝试中我可以看出,他想作为对象访问它们,不是数组我只是给出了一个用键直接访问值的解决方案。他想用它们的键直接访问值,比如用户名和密码。从他的尝试中我可以看出,他想把它们作为对象来访问,而不是数组我只是给出了一个用键直接访问值的解决方案。