从数据库中获取嵌套的JSON数组数据可以通过以下步骤实现:
以下是一个示例代码(使用Python和MySQL数据库):
import json
import mysql.connector
# 连接数据库
conn = mysql.connector.connect(
host="localhost",
user="username",
password="password",
database="database_name"
)
# 构建查询语句
query = """
SELECT parent.id, parent.name, JSON_ARRAYAGG(child.name) AS children
FROM parent
LEFT JOIN child ON parent.id = child.parent_id
GROUP BY parent.id, parent.name
"""
# 执行查询
cursor = conn.cursor()
cursor.execute(query)
# 处理结果集
result = []
for row in cursor.fetchall():
parent_id, parent_name, children = row
parent = {
"id": parent_id,
"name": parent_name,
"children": json.loads(children) if children else []
}
result.append(parent)
# 嵌套JSON数组
nested_json_array = json.dumps(result)
# 关闭数据库连接
cursor.close()
conn.close()
print(nested_json_array)
在上述示例中,我们通过LEFT JOIN关联了parent
表和child
表,以获取嵌套的数据。然后,我们使用JSON_ARRAYAGG
函数将child
表中的name
字段聚合为一个JSON数组。最后,我们将每一行的数据转换为JSON对象,并将其添加到result
数组中。最终,我们使用json.dumps
将result
数组转换为嵌套的JSON数组。
请注意,上述示例中的数据库连接和查询语句是示意性的,实际情况下需要根据具体的数据库类型和表结构进行适当的修改。
领取专属 10元无门槛券
手把手带您无忧上云