簡體   English   中英

在PHP中使用json_decode解析JSON

[英]Parsing JSON with json_decode in PHP

這是我從票務系統獲得的JSON數據。 我想用PHP解析它,並將數據保存在數據庫中以創建統計信息和儀表板,以便每個人都可以看到打開了多少張票據和最新關閉的票據。 我可以讀取一些數據,但不能讀取所有數據。

{  
    "address":"belgium",
    "workers":{  
        "peter":{  
            "worker":"peter",
            "open_close_time":"45.6 T/h",
            "closed_tickets":841,
            "open_tickets":7,
            "last_checkin":1498768133,
            "days_too_late":0
        },
        "mark":{  
            "worker":"mark",
            "open_close_time":"45.9 T/h",
            "closed_tickets":764,
            "open_tickets":2,
            "last_checkin":1498768189,
            "days_too_late":0
        },
        "walter":{  
            "worker":"walter",
            "open_close_time":"20.0 T/h",
            "closed_tickets":595,
            "open_tickets":4,
            "last_checkin":1498767862,
            "days_too_late":0
        }
    },
    "total_tickets":2213,
    "tickets":[  
        {  
            "id":2906444760,
            "client":"297",
            "processed":0
        },
        {  
            "id":2260,
            "client":"121",
            "processed":0
        },
        {  
            "id":2424,
            "client":"45",
            "processed":0
        }
    ],
    "last_closed_tickets":[  
        {  
            "id":2259,
            "client":"341",
            "closed_on":"2017-06-25T10:11:00.000Z"
        },
        {  
            "id":2258,
            "client":"48",
            "closed_on":"2017-06-20T18:37:03.000Z"
        }
    ],
    "settings":{  
        "address":"belgium",
        "email":"",
        "daily_stats":0
    },
    "open_close_time":"161.1 T/h",
    "avgopen_close_time":123298,
    "ticket_time":"27.1 T/h",
    "stats":{  
        "time":1498768200087,
        "newest_ticket":1498768189000,
        "closed_tickets":2200,
        "open_tickets":13,
        "active_workers":3
    },
    "avg_paid_tickets":64.55,
    "avg_afterservice_tickets":35.45
}

這是我試圖獲取工作人員名稱的PHP代碼,但這不起作用。

<?php
$string = file_get_contents("example.json");
$json = json_decode($string, true);
echo $json['address']; 
foreach($json->workers->new as $entry) {
    echo $entry->worker;
}
?>

如果我像下面這樣嘗試它,它可以工作,但是每次其他員工上任時,我都必須更改代碼。

echo $json['workers']['mark']['closed_tickets'];
<?php
$string = file_get_contents("example.json");
$json = json_decode($string, true);
foreach($json['workers'] as $entry){
       echo $entry['worker'] . " has " . $entry['open_tickets'] . " tickets" . "\n"; 
}
?>

暫無
暫無

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

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