Json Parse问题有错误试图获取非对象

时间:2016-08-14 21:16:34

标签: php json

我想在json之后解析

的值

JSON(保存在my.json中):

{
"mackoniv":{"entry":"","lastExit":"","userId":"OPENGOVTJOBS","userNick":"mack"},
"johanna":{"entry":"","lastExit":"","userId":"FREEJOBALERT","userNick":"jone"}
}

使用的代码:

$json = file_get_contents('my.json');
$json_data = json_decode($json,true);
$userToCheck='johanna';
echo 'userId'.$json_data->$userToCheck->userId;

上面的代码给出了错误"试图获取非对象"的属性,我理解为$ userToCheck不是$ json_data的对象,但我如何访问" mackoniv&#的数据34;甚至" johanna"当userToCheck部分不是硬编码时。

如果我尝试按照方式行事,则会出现同样的错误。

echo 'userId'.$json_data[$userToCheck]['userId'];

2 个答案:

答案 0 :(得分:0)

首先it('should display 4 thumbnails', function(){ var imageList = element.all(by.repeater('img in $ctrl.phone.images')); expect(imageList.count()).toBe(4); }); 会返回一个数组。尝试var_dump你的$ json以确保你有文件然后var_dump $ json_data。

答案 1 :(得分:0)

如果你像下面那样写它应该有用。

        $json = file_get_contents('my.json');
        $json_data = json_decode($json, true);
        $userToCheck = 'johanna';
        echo 'userId = ' . $json_data[$userToCheck]['userId']; 

基本上更改一行:

echo 'userId' . $json_data->$userToCheck->userId; 

with:

echo 'userId = ' . $json_data[$userToCheck]['userId'];