0

我有一个私有的 JSON 提要(按 IP 地址),我可以使用命令对其进行解析

$json = file_get_contents("http://#");

这就是提要的样子,并且该命令有效 - 使用 json_decode($json); 时它会正确转储数据;或 json_decode($json,true); 我做了一个 var 转储。

    {
    "Holder": [
        {
            "name": "Subholder One",
            "operators": [
        {
          "username": "User1",
          "status": 3
        },
        {
          "username": "User2",
          "status": 3
        },
        {
          "username": "User3",
          "status": 3
        },
        {
          "username": "User4",
          "status": 1
        }
      ]
    },
    {
      "name": "Subholder Two",
      "operators": [
        {
          "username": "User5",
          "status": 3
        }
      ]
    },
    {
      "name": "Subholder Three",
      "operators": [
        {
          "username": "User6",
          "status": 3
        }
      ]
    },
    {
      "name": "Subholder Four",
      "operators": [
        {
          "username": "User7",
          "status": 1
        },
        {
          "username": "User8",
          "status": 3
        },
        {
          "username": "User9",
          "status": 1
        }
      ]
    }
  ]
}

当我使用简单的以下代码和一行数据时,没有file_get_contents 而是一行数据,它可以工作:

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

当我使用 file_get_contents 它不起作用。

我想要做的就是显示所有数据的用户名和状态(数字转换为我已经完成的短语),并单独显示用户名。

例如,在用户 1 的个人资料页面上,我想解析他们的“用户名”和“状态”,将状态编号转换为相应的短语并显示在屏幕上。

我在这里摸不着头脑......所以感激地收到任何帮助。

4

2 回答 2

0

尝试这个:

$request_url ="http://mysamplefeed.com/";
$requests = file_get_contents($request_url);
$my_response = json_decode($requests);
foreach($my_response->Holder as $item){
'<p>' .$item->username; . '</p>'
'<p>' .$item->status; . '</p>'
}
于 2014-12-30T20:41:22.217 回答
0

尝试

  $obj = json_decode($json, true);

  echo $obj['username'];
  echo $obj['status'];
于 2012-09-24T17:51:40.210 回答