[英]Get JSON array of rows with MySQL
我希望MySQL將以JSON數組的形式返回結果集。
工作查詢:
SELECT CONCAT(
'[',
GROUP_CONCAT(
JSON_OBJECT(
'ProductId', tblproducts.ProductId,
'ProductName', tblproducts.ProductName
)
),
']') As Products
FROM tblproducts;
該查詢返回以下JSON數組:
[
{
"ProductId": "1",
"ProductName": "Milk"
},
{
"ProductId": "2",
"ProductName": "Bread"
}
]
盡管此代碼有效,但我強烈感覺到使用GROUP_CONCAT
和CONCAT
構建JSON數組是一種解決方法。 如果使用JSON_ARRAY
,則結果集將由每個JSON_OBJECT
的JSON數組組成。
我的問題:
是否有任何本機方法來獲取結果集中所有JSON_OBJECT
的單個JSON數組?
JSON_ARRAYAGG()
可能就是您想要的。
SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'ProductId', tblproducts.ProductId,
'ProductName', tblproducts.ProductName
)
) FROM tblproducts;
這是一個示例: https : //www.db-fiddle.com/f/uQ9UC7MDZM4gncNjViTsKw/0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.