簡體   English   中英

如何更改JSON輸出的格式?

[英]How to change the format of the JSON output?

我有PHP代碼,該代碼從mysql數據庫的表中獲取數據並以JSON格式顯示該數據。

這是我的代碼:

<?php 

include ("config/config.php");
//build query
$query = 
"SELECT 
ProductID, 
Name, 
Price, 
Type,
cat 
FROM store ORDER BY ProductID ASC";

$rsPackages = mysqli_query($mysqli_conn,$query);

$arRows = array();

while ($row_rsPackages = mysqli_fetch_assoc($rsPackages)) {
   array_push($arRows, $row_rsPackages);
}

header('Content-type: application/json');
echo json_encode($arRows);

?>

此代碼的輸出如下所示:

 [{"ProductID":"1","Name":"HTML:Beginners guide","Price":"7.85","Type":"Book","cat":"HTML"},{"ProductID":"4","Name":"HTML: Intermediate","Price":"8.99","Type":"Book","cat":"HTML"},{"ProductID":"5","Name":"HTML: Advanced","Price":"10.99","Type":"Book","cat":"HTML"},{"ProductID":"7","Name":"CSS: Beginners Guide","Price":"7.99","Type":"Book","cat":"CSS"},{"ProductID":"8","Name":"CSS: Intermediate","Price":"8.99","Type":"Book","cat":"CSS"},{"ProductID":"9","Name":"CSS: Advanced","Price":"10.99","Type":"Book","cat":"CSS"},{"ProductID":"10","Name":"PHP: Beginners Guide","Price":"7.99","Type":"Book","cat":"PHP"},{"ProductID":"11","Name":"PHP: Intermediate","Price":"8.99","Type":"Book","cat":"PHP"},{"ProductID":"12","Name":"PHP: Advanced","Price":"10.99","Type":"Book","cat":"PHP"},{"ProductID":"13","Name":"MYSQL- Easy steps","Price":"11.99","Type":"Book","cat":"MYSQL"},{"ProductID":"14","Name":"HTML- Video Guide","Price":"19.99","Type":"CD","cat":"HTML"},{"ProductID":"15","Name":"CSS: Video Guide","Price":"19.99","Type":"CD","cat":"CSS"},{"ProductID":"16","Name":"PHP: Video Guide","Price":"19.99","Type":"CD","cat":"PHP"},{"ProductID":"22","Name":"css book","Price":"3.49","Type":"","cat":""},{"ProductID":"26","Name":"bdkjhedsjbdsasa","Price":"3.59","Type":"","cat":""}]

但是,我希望輸出結果以如下格式顯示:“ {” records“:[results]}”

例:

{"records":[{"ProductID":"1","Name":"HTML:Beginners guide","Price":"7.85","Type":"Book","cat":"HTML"},{"ProductID":"4","Name":"HTML: Intermediate","Price":"8.99","Type":"Book","cat":"HTML"},{"ProductID":"5","Name":"HTML: Advanced","Price":"10.99","Type":"Book","cat":"HTML"},{"ProductID":"7","Name":"CSS: Beginners Guide","Price":"7.99","Type":"Book","cat":"CSS"},{"ProductID":"8","Name":"CSS: Intermediate","Price":"8.99","Type":"Book","cat":"CSS"},{"ProductID":"9","Name":"CSS: Advanced","Price":"10.99","Type":"Book","cat":"CSS"},{"ProductID":"10","Name":"PHP: Beginners Guide","Price":"7.99","Type":"Book","cat":"PHP"},{"ProductID":"11","Name":"PHP: Intermediate","Price":"8.99","Type":"Book","cat":"PHP"},{"ProductID":"12","Name":"PHP: Advanced","Price":"10.99","Type":"Book","cat":"PHP"},{"ProductID":"13","Name":"MYSQL- Easy steps","Price":"11.99","Type":"Book","cat":"MYSQL"},{"ProductID":"14","Name":"HTML- Video Guide","Price":"19.99","Type":"CD","cat":"HTML"},{"ProductID":"15","Name":"CSS: Video Guide","Price":"19.99","Type":"CD","cat":"CSS"},{"ProductID":"16","Name":"PHP: Video Guide","Price":"19.99","Type":"CD","cat":"PHP"},{"ProductID":"22","Name":"css book","Price":"3.49","Type":"","cat":""},{"ProductID":"26","Name":"bdkjhedsjbdsasa","Price":"3.59","Type":"","cat":""}]}

我應該對我的php代碼進行哪些更改以獲得上述輸出?

打包一下:

echo json_encode(array("records" => $arRows));

嘗試:

header('Content-type: application/json');
$result['records'] = $arRows;
echo json_encode($result);

您需要解析返回到變量中的內容,並將其添加到新的json對象中,就像我現在將向您展示的那樣。

var data = JSON.parse('[{"ProductID":"1","Name":"HTML:Beginners guide","Price":"7.85","Type":"Book","cat":"HTML"},{"ProductID":"4","Name":"HTML: Intermediate","Price":"8.99","Type":"Book","cat":"HTML"},{"ProductID":"5","Name":"HTML: Advanced","Price":"10.99","Type":"Book","cat":"HTML"},{"ProductID":"7","Name":"CSS: Beginners Guide","Price":"7.99","Type":"Book","cat":"CSS"},{"ProductID":"8","Name":"CSS: Intermediate","Price":"8.99","Type":"Book","cat":"CSS"},{"ProductID":"9","Name":"CSS: Advanced","Price":"10.99","Type":"Book","cat":"CSS"},{"ProductID":"10","Name":"PHP: Beginners Guide","Price":"7.99","Type":"Book","cat":"PHP"},{"ProductID":"11","Name":"PHP: Intermediate","Price":"8.99","Type":"Book","cat":"PHP"},{"ProductID":"12","Name":"PHP: Advanced","Price":"10.99","Type":"Book","cat":"PHP"},{"ProductID":"13","Name":"MYSQL- Easy steps","Price":"11.99","Type":"Book","cat":"MYSQL"},{"ProductID":"14","Name":"HTML- Video Guide","Price":"19.99","Type":"CD","cat":"HTML"},{"ProductID":"15","Name":"CSS: Video Guide","Price":"19.99","Type":"CD","cat":"CSS"},{"ProductID":"16","Name":"PHP: Video Guide","Price":"19.99","Type":"CD","cat":"PHP"},{"ProductID":"22","Name":"css book","Price":"3.49","Type":"","cat":""},{"ProductID":"26","Name":"bdkjhedsjbdsasa","Price":"3.59","Type":"","cat":""}]');
var result = new Object();
result.result = data;
console.log(result);

只需將代碼的最后一行替換為

$data = array("records" => $arRows);
echo json_encode($data);

暫無
暫無

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

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