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

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

獲取 MySQL 數據并通過 PHP 輸出為嵌套 JSON

獲取 MySQL 數據并通過 PHP 輸出為嵌套 JSON

PHP
慕仙森 2023-03-26 14:22:25
我正在嘗試以第三方服務可以使用的格式從我的數據庫中導出數據。將數據從 MySQL DB 轉換為 JSON 非常簡單。我目前正在使用以下內容進行測試,盡管它不是我的完整數據集。$result = $dblink->query("SELECT * FROM Contracts LIMIT 3");  $dbdata = array();  while ( $row = $result->fetch_assoc())  {    $rowarray['id'] = $row['ContractID'];    $rowarray['title'] = $row['Service_Name'];    $rowarray['currency'] = 'GBP';    $rowarray['amountAppliedFor'] = $row['Sum_Requested'];    $rowarray['amountAwarded'] = $row['Sum_Approved'];    $rowarray['awardDate'] = $row['Decision_Date'];    $rowarray['recipientOrganization'] = $row['Provider'];    $dbdata[]=$rowarray;  }  echo json_encode($dbdata);這很容易輸出:[    {       "id":"147",      "title":"Whatever",      "currency":"GBP",      "amountAppliedFor":"5000.00",      "amountAwarded":"5000.00",      "awardDate":"2019-07-14",      "recipientOrganization":"32"   },   {       "id":"146",      "title":"Test",      "currency":"GBP",      "amountAppliedFor":"1000.00",      "amountAwarded":"0.00",      "awardDate":"2019-07-04",      "recipientOrganization":"32"   },   {       "id":"144",      "title":"Test",      "currency":"GBP",      "amountAppliedFor":"15000.00",      "amountAwarded":"15000.00",      "awardDate":"0000-00-00",      "recipientOrganization":"32"   }]很容易。但我試圖創建的模式看起來像:{  "grants" : [ {    "id" : "",    "recipientOrganization" : [ {      "id" : "",      "companyNumber" : "",      "charityNumber" : "",      "name" : "",    } ],    "fundingOrganization" : [ {      "id" : "",      "name" : ""    } ],    "title" : "",    "currency" : "",    "amountAwarded" : "" }]}我不清楚如何使用對象等來構造數據。目前我只是輸出平面 JSON。我是不是打算使用類似的東西:json_encode($dbdata, array(...)); ?
查看完整描述

1 回答

?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

看起來你的結構應該是


? while ( $row = $result->fetch_assoc())? {


? ? $rowarray['id'] = $row['ContractID'];

? ? $rowarray['recipientOrganization'] = array(

? ? ? ? ?"id" => $row['id'],

? ? ? ? ?"companyNumber" => $row['companyNumber'],

? ? ? ? ?"charityNumber" => $row['charityNumber'],

? ? ? ? ?"name" => $row['name']

? ? );

? ? $rowarray['fundingOrganization'] = array(

? ? ? ? ?"id" => $row['id'],

? ? ? ? ?"name" => $row['name']

? ? );


? ? $rowarray['title'] = $row['Service_Name'];

? ? $rowarray['currency'] = 'GBP';

? ? //$rowarray['amountAppliedFor'] = $row['Sum_Requested'];

? ? $rowarray['amountAwarded'] = $row['Sum_Approved'];

? ? //$rowarray['awardDate'] = $row['Decision_Date'];




? ? $dbdata['grants'][] = $rowarray;


? }

我喜歡做的另一個技巧是將 json 放入 phpsandbox 并將其轉換為數組以查看結構。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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