如何从 JSON in php 中获取元素

how to get elements from this JSON in php

如何从 json in php

中获取字段密码的值
[  
   {  
      "rid":"#145:0",
      "version":1,
      "oClass":"Login",
      "oData":{  
         "Password":"hacker007",
         "role":null,
         "Name":"Nijeesh Joshy",
         "Email":"nijeesh4all@gmail.com"
      }
   }
]

这是我的代码

$json = '[  
   {  
      "rid":"#145:0",
      "version":1,
      "oClass":"Login",
      "oData":{  
         "Password":"hacker007",
         "role":null,
         "Name":"Nijeesh Joshy",
         "Email":"nijeesh4all@gmail.com"
      }
   }
]';

$json = json_decode($json,true);

echo $json[0]->oData->Name;

我遇到了这个错误

Notice: Trying to get property of non-object

我看到在 json_decode() 步骤之后,属性不再受保护:

$json_data = '[
    {
        "rid":"#145:0",
        "version":1,
        "oClass":"Login",
        "oData":{
            "Password":"hacker007",
            "role":null,
            "Name":"Nijeesh Joshy",
            "Email":"nijeesh4all@gmail.com"
        }
    }
]';

$data = json_decode($json_data);

因此,您可以通过这种方式访问​​数据:

$array['name'] = $data[0]->oData->Name;
$array['password'] = $data[0]->oData->Password;

var_dump($array);

输出:

array(2) { 
    ["password"]=> string(9) "hacker007" 
    ["name"]=> string(13) "Nijeesh Joshy" 
}

注:

用于构建原始数据数组的类必须为您提供以正确方式获取数据的方法。