亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在PHP中制作不同結構的JSON

如何在PHP中制作不同結構的JSON

PHP
智慧大石 2023-03-04 14:56:45
我正在從 2 個表中檢索數據:1) 主頁橫幅和 2) 熱門交易。之后,我從中制作 REST API。但是我在 json 中獲取數據是這樣的: [    {        "homuri": "/Home/Banner/activity.png"    },    {        "homuri": "/Home/Banner/fitness.png"    },       {        "hotdeal": "/Home/HotDeals/hotdeal1.png"    },    {        "hotdeal": "/Home/HotDeals/hotdeal2.png"    },    {        "hotdeal": "/Home/HotDeals/hotdeal3.png"    },]但我想要我的 json 結構是這樣的:[        "banner":{            "homuri": "/Home/Banner/activity.png",            "homuri": "/Home/Banner/fitness.png"        },           "hotdeals":{            "hotdeal": "/Home/HotDeals/hotdeal1.png",            "hotdeal": "/Home/HotDeals/hotdeal2.png",            "hotdeal": "/Home/HotDeals/hotdeal3.png",        },    ]如何做到這一點?以及如何在 HTML 中訪問所有這些值?下面我附上我的代碼:<?php    include('dbconn.php');    $request=$_SERVER['REQUEST_METHOD'];    $data=array();    switch($request)    {        case 'GET':            response(getData());                            }    function getData()    {        global $conn;        @$col=$_GET['col'];        $query=mysqli_query($conn,"select strHomeBannerUri as homuri from tblhomebannerdetails");        while($row=mysqli_fetch_assoc($query))        {            $data[]=array("homuri"=>$row['homuri']);                    }        if($col=="pop")        {            $query=mysqli_query($conn,"select nHotrDealImageUri as hotdeal from tblhotdealimages");        while($row=mysqli_fetch_assoc($query))        {            $data[]=array("hotdeal"=>$row['hotdeal']);                  }        }                   return $data;               }    function response($data)    {        echo json_encode($data);    }?>
查看完整描述

1 回答

?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

您希望 JSON 看起來的方式將不起作用 - 您不能在同一“嵌套級別”中多次使用一個鍵。


function getData()

{

    global $conn;

    @$col=$_GET['col'];


    $query=mysqli_query($conn,"select strHomeBannerUri as homuri from tblhomebannerdetails");


    while($row=mysqli_fetch_assoc($query))

    {

        $data['homeuri'][]= $row['homuri'];            

    }


    if($col=="pop")

    {

        $query=mysqli_query($conn,"select nHotrDealImageUri as hotdeal from tblhotdealimages");


    while($row=mysqli_fetch_assoc($query))

    {

        $data['hotdeals'][]= $row['hotdeal'];          

    }


    }           

    return $data;           

}

可以解決這個問題 - 你的邏輯有一些問題,你應該檢查自己如何在 PHP 中編寫和修改數組。完成后,請檢查 JSON 以及如何構建 JSON 對象/列表。


上面的代碼應該返回類似


{

    "banner":[

        "/Home/Banner/activity.png",

        "/Home/Banner/fitness.png"

    ],   

    "hotdeals":[

        "/Home/HotDeals/hotdeal1.png",

        "/Home/HotDeals/hotdeal2.png",

        "/Home/HotDeals/hotdeal3.png"

    ],    

}


查看完整回答
反對 回復 2023-03-04
  • 1 回答
  • 0 關注
  • 114 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號