首页 > 解决方案 > 使用 PHP 格式化 API JSON 响应

问题描述

我有一个 api,我想使用 php 从中解析数据

这就是回应


{
    "success": true,
    "data": [
        {
            "medicineId": 12,
            "medicineName": "Abacavir"
        },
        {
            "medicineId": 10,
            "medicineName": "Alclometasone"
        },
        {
            "medicineId": 15,
            "medicineName": " Alectinib"
        },
        {
  ],
    "message": "Successfully retrieved"
}

我想列出所有药物名称

我试过这个,但它没有得到名字,只是成功响应


$age = file_get_contents('link');

$array = json_decode($age, true);

foreach($array as $key=>$value)
{
    echo $key . "=>" . $value . "<br>";
}

标签: phpjsonparsing

解决方案


$array['data']您可以通过循环数组以这种方式轻松列出所有药物名称及其 id 。让我们这样做-

<?php
$age = '{"success":true,"data":[{"medicineId":12,"medicineName":"Abacavir"},{"medicineId":10,"medicineName":"Alclometasone"},{"medicineId":15,"medicineName":" Alectinib"}],"message":"Successfully retrieved"}';
$array = json_decode($age, true);
$medicine_names = [];
foreach($array['data'] as $key=>$value)
{
  $medicine_names[$value['medicineId']] = $value['medicineName'];  
}
print_r($medicine_names);
echo implode(' ', $medicine_names);
?>

输出:

 Array ( 
         [12] => Abacavir
         [10] => Alclometasone 
         [15] => Alectinib
 )

工作演示: https ://3v4l.org/tBtaW


推荐阅读