2012-10-22 103 views
0
{ 
    "Group": [ 
    { 
     "name": "HolderOne", 
     "operators": [ 
      { 
      "username": "ken", 
      "status": 3 
      }, 
     .....etc..... 

我试图操纵的JSON提要必须在上面进行格式化。操纵来自JSON提要的数据以显示它

我希望能够显示用户名和状态。 (?)

$json = file_get_contents("urlhere"); 
$obj=json_decode($json); 
echo $obj->username; 
echo $obj->status; 

,因为它们是嵌套在饲料中这显然是行不通的。我曾尝试:

$obj->Group[0]->name->operators->username 

$obj->Group[0]->name->username 

无济于事(如以及json_decode,true和['name']等)。

我是否特别昏暗?

当我做了一个var转储,数据是从饲料收集好的。

+0

$ obj->集团[0] - >名称 - >运营商[0] - >用户名?看起来运营商也是一个对象数组... – kalpaitch

+0

你还尝试过'print_r($ obj)'或'var_dump($ obj)'吗? – Havelock

+0

尝试使用$ obj-> Group [0] - > name-> operators [0] - > username –

回答

1

图了这一点,最好的办法就是反复做print_r的:

print_r($obj) 
//prints what you see above 
print_r($obj['Group'] 
//prints the Group Object 
print_r($obj['Group'][0]) 
//prints first element in Group Object 
print_r($obj['Group'][0]['operators']) 
//etc..... 

这就是我如何找出如何,如果我得到一点点卡访问这些元素。虽然在我看来,你想:

$obj->Group[0]->operators[0]->username

+0

干杯.....如果我想获取用户名值并将其与可变值(例如,如果KEN = KEN,那么...否则...),这是PHP还是JSON?即将print_r作为方式?顺便说一句 - 真的很感谢你的帮助,所以谢谢你! :0) – webservicesco

+0

'print_r'实际上对你的应用程序在生产中从未**有用,它只是用于开发,所以你可以看到各种变量中有什么。 JSON只是一种存储数据的格式,PHP是您编写应用程序的语言,所以PHP就是您的答案。 – Landon

+0

感谢Landon - 除了'print_r'数据不outoutyt - 一个vardump的作品,但一个PHP'echo' doesn't ..额外复杂的事情,我想说如果一个特定的用户名是X,显示状态 – webservicesco