簡體   English   中英

使用 php 或 javascript 列出 JSON 文件中的部分數據

[英]List part of data in JSON file using php or javascript

有人知道如何使用 php 或 javascript 從 json 文件中列出部分/部分數據嗎?

例如如果我使用 sql 我必須做代碼

select email from employees where name='Shyam'

但是對於 json 我不知道該怎么做。

{"employees":[  
    {"name":"Shyam", "email":"shyamjaiswal@gmail.com", "job":"police"},  
    {"name":"Bob", "email":"bob32@gmail.com", "job":"athelic"},  
    {"name":"Jai", "email":"jai87@gmail.com", "job":"king"}  
]}  

通過參考上面的數據,我只想使用 json 文件中的 php/javascript 來 select email where name=shyam。

使用 Javascript 您可以執行以下操作:

 const data = {"employees": [ {"name":"Shyam", "email":"shyamjaiswal@gmail.com", "job":"police"}, {"name":"Bob", "email":"bob32@gmail.com", "job":"athelic"}, {"name":"Jai", "email":"jai87@gmail.com", "job":"king"} ]}; const result = data.employees.filter(employe => employe.name === "Shyam"); console.log(result);

使用 PHP 您可以做到這一點:

$data = json_decode('{"employees": [  
  {"name":"Shyam", "email":"shyamjaiswal@gmail.com", "job":"police"},  
  {"name":"Bob", "email":"bob32@gmail.com", "job":"athelic"},  
  {"name":"Jai", "email":"jai87@gmail.com", "job":"king"}  
]}', true);

$result = array_filter($data['employees'], function ($employee) {
    return $employee['name'] === 'Shyam';
});
var_dump($result);

在 PHP 你可以做這樣的事情。

$json = '{"employees":[  
    {"name":"Shyam", "email":"shyamjaiswal@gmail.com", "job":"police"},  
    {"name":"Bob", "email":"bob32@gmail.com", "job":"athelic"},  
    {"name":"Jai", "email":"jai87@gmail.com", "job":"king"}  
]} ';

$jsonArray = json_decode($json, true);
$emails = [];

foreach ($jsonArray['employees'] as $item){
    if ($item['name'] == "Shyam") {
        $emails[] = $item['email'];
    }
}

像這樣(JS)?

      const getEmail = (json, name) => {
        const row = json.employees.find(e => e.name === name);
        return row ? row.email : null;
      }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM