我正在使用一个rest API,我需要解析一个永远变化的json结果


i am using a rest API i need to parse a forever changing json result

好了,现在我使用的是一个名为strichliste的rest api我正在创建一个用户信用支付系统

我正试图通过用户名问题来获得用户平衡我的restapi我只能通过它的userid 获得blanace

我已经创建了一个php,它可以使用下面的获取所有当前用户和相应的id和余额

function getbal(){
    // Get cURL resource
    $curl = curl_init();
    // Set some options - we are passing in a useragent too here
    curl_setopt_array($curl, array(
                                 CURLOPT_RETURNTRANSFER => 1,
                                 CURLOPT_URL => 'https://example.io:8081/user/'
                                 )
                      );
    // Send the request & save response to $resp
    $resp = curl_exec($curl);
    // Close request to clear up some resources
    curl_close($curl);
    print_r($resp);
}

这是我在主php脚本中使用它后得到的响应

<? getbal(); ?>

结果---#

{  
   "overallCount":3,
   "limit":null,
   "offset":null,"entries":[
                            {"id":1,
                             "name":"admin",
                             "balance":0,
                             "lastTransaction":null
                            },
                            {"id":2,
                             "name":"pghost",
                             "balance":0,
                             "lastTransaction":null
                            },
                            {"id":3,
                             "name":"sanctum",
                             "balance":0,
                              "lastTransaction":null
                             }
                           ]
  }

正如你所看到的,目前只有3个用户,但这将每天增长,因此脚本需要适应用户数量的增长

在我的php脚本中,我有一个var,其中包含当前登录的用例

$user = "sanctum";

我想要一个php脚本,它将使用gatbal()的输出;并且在这种情况下只输出给定用户的线路

我希望它为特定用户输出jsondecode中的行

{"id":3,"name":"sanctum","balance":0,"lastTransaction":null}

有人能帮助吗

$user = "sanctum";
$userlist = getbal();

function findUser($u, $l){
    if(!empty($l['entries'])){
      foreach($l['entries'] as $key=>$val){
         if($val['name']==$user){
             return $val;
         }
      }
    }
}

这样,一旦您有了列表和用户,您就可以通过插入用户列表和用户来调用findUser()。

 $userData = findUser($user, $userlist);

然而,我建议找到一种方法,让服务器只返回您要查找的用户,而不是整个列表,然后根据用户名进行查找。但这是另一次的讨论。