Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
阅读类似facebook json php的json_Php_Json_Facebook - Fatal编程技术网

阅读类似facebook json php的json

阅读类似facebook json php的json,php,json,facebook,Php,Json,Facebook,我尝试通过php读取json { "data": [ { "id": "3043252fsdgdf36360354", "name": "name1", "access_token": "CAAIf3VEtVSoBAHrVxHL16zt4H5OvwBmdfgs4F3auPE0NZBx5PmIujBAdqw0Cv4bZACXytT1O1y6FHEZA25E1aqQZD" }, { "id": "3326848fdgs

我尝试通过php读取json

{
  "data": [
    {
      "id": "3043252fsdgdf36360354", 
      "name": "name1", 
      "access_token": "CAAIf3VEtVSoBAHrVxHL16zt4H5OvwBmdfgs4F3auPE0NZBx5PmIujBAdqw0Cv4bZACXytT1O1y6FHEZA25E1aqQZD"
    }, 
    {
      "id": "3326848fdgsdfgsdf03424168", 
      "name": "name2", 
      "access_token": "CAAIf3VEtVSoBAJinePVdfgsdfgMxuY3zaj9AimaoKx7VIO9jCqZCHC6ZBixL1n6ZC72LTMn0ZB4T8rOHD27WmzbBVgvUwgspeEZD"
    }}
我试着用这个密码

$sfgsdfg=  $json_a=json_decode($read,true);


echo  $json_a['data'][3043252fsdgdf36360354];
echo  $json_a['3043252fsdgdf36360354'][access_token];
不与此php代码工作,我需要帮助阅读它


我需要选择3043252fsdgdf36360354的访问令牌作为echo$json_a['data'][3043252fsdgdf36360354]['access_token']

我只需要读id为。mysql命令。选择访问令牌,其中id='3326848fdgsdfgsdf03424168'

不是格式良好的json。 尝试:

{
  "data": [
    {
      "id": "3043252fsdgdf36360354", 
      "name": "name1", 
      "access_token": "CAAIf3VEtVSoBAHrVxHL16zt4H5OvwBmdfgs4F3auPE0NZBx5PmIujBAdqw0Cv4bZACXytT1O1y6FHEZA25E1aqQZD"
    }, 
    {
      "id": "3326848fdgsdfgsdf03424168", 
      "name": "name2", 
      "access_token": "CAAIf3VEtVSoBAJinePVdfgsdfgMxuY3zaj9AimaoKx7VIO9jCqZCHC6ZBixL1n6ZC72LTMn0ZB4T8rOHD27WmzbBVgvUwgspeEZD"
    }
  ]
}
和php:

$val = json_decode($read, TRUE);
echo $val['data'][0]['id'];
更新:

function find_by_id($id, $val) {
  foreach($val['data'] as $key => $obj) {
    if ($obj['id'] === $id)
      return $obj['access_token'];
  }
}

首先,您的JSON缺少一个
]
字符,将导致
JSON\u decode
返回NULL。您应该首先更正JSON字符串。您可以使用诸如的在线服务来验证JSON。一旦将JSON字符串解码为关联数组,就可以循环遍历该数组并检查其中是否包含给定的ID。如果是这样,您可以轻松获取相应的访问令牌

我把它做成了一个简短的函数。您可以使用它按ID获取访问令牌:

$jsonArray = json_decode($str, TRUE);
function getAccessTokenFromID($id, $jsonArray) {
    foreach ($jsonArray['data'] as $k => $elem) {
        if($elem['id'] == $id) {
            $access_token = $elem['access_token'];
        }
    }
    return $access_token;
}
用法:

$myid = '3043252fsdgdf36360354';
$my_accesstoken = getAccessTokenFromID($myid, $jsonArray);

我需要选择通过3326848fdgsdfgsdf03424168访问令牌作为echo$val['data'][0]['3326848fdgsdfgsdf03424168';我将保存id并需要选择用户acsess页面令牌并为每个页面保存它是否需要返回数组的函数,该数组的id为您指定的id?不,我只需要按id读取为。mysql命令。选择访问令牌,其中id='3326848fdgsdfgsdf03424168';我需要选择3043252fsdgdf36360354的访问令牌作为echo$json_a['data'][3043252fsdgdf36360354]['access_token'];echo getAccessTokenFromID(3043252fsdgdf36360354);不工作??