Maison >base de données >tutoriel mysql >Comment convertir une table de résultats MySQL en un tableau JSON à l'aide de commandes SQL simples ?

Comment convertir une table de résultats MySQL en un tableau JSON à l'aide de commandes SQL simples ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-03 11:11:09456parcourir

How to Convert a MySQL Result Table to a JSON Array Using Plain SQL Commands?

Conversion MySQL de la table de résultats en tableau JSON à l'aide de commandes simples

Dans MySQL, il est possible de convertir une table de résultats en tableau JSON en utilisant les fonctions intégrées. Considérons la requête suivante :

SELECT name, phone FROM person;

Qui renvoie la table de résultats suivante :

name phone
Jack 12345
John 23455

Nouvelle solution :

Utilisant JSON_ARRAYAGG et JSON_OBJECT, la requête suivante obtient la sortie JSON souhaitée :

SELECT JSON_ARRAYAGG(JSON_OBJECT('name', name, 'phone', phone)) from Person;

Le La fonction JSON_ARRAYAGG regroupe plusieurs objets JSON dans un tableau, tandis que la fonction JSON_OBJECT crée un objet avec les paires clé-valeur spécifiées.

Ancienne solution :

Alternativement, vous pouvez utilisez les fonctions CONCAT, GROUP_CONCAT et JSON_OBJECT pour construire le JSON array :

SELECT CONCAT(
    '[', 
    GROUP_CONCAT(JSON_OBJECT('name', name, 'phone', phone)),
    ']'
) 
FROM person;

La fonction CONCAT concatène les chaînes, GROUP_CONCAT agrège les objets JSON dans une liste séparée par des virgules et JSON_OBJECT crée les objets individuels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn