2017-06-04 40 views
0

我怎样才能从这个JSON获得在PHP领域的密码值如何从这个JSON元素在PHP

[ 
    { 
     "rid":"#145:0", 
     "version":1, 
     "oClass":"Login", 
     "oData":{ 
     "Password":"hacker007", 
     "role":null, 
     "Name":"Nijeesh Joshy", 
     "Email":"[email protected]" 
     } 
    } 
] 

这是我的代码

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

$json = json_decode($json,true); 

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

我得到这个错误

注意:试图让非对象的属性

+0

对不起,它不是Json,但PHP数组和对象。 – JazZ

+0

我已经使用json_encode()将其转换为json如何在此之后访问数据 –

+0

为什么在编码之前无法访问数据?你正试图从JS访问数据? – JazZ

回答

2

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

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

$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" 
} 

说明:

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

+0

我得到一个错误 注意:试图获取C:\ xampp \ htdocs \ net \ functions.php在第67行,这是我的代码https://pastebin.com/2jNdmJam –

+1

您是否使用了json_decode()编码的数据? – JazZ

+0

好吧,@nijeeshjoshy只是不使用'json_decode()'函数的第二个参数。 – JazZ