Heim >Datenbank >MySQL-Tutorial >Wie konvertiere ich eine MySQL-Ergebnistabelle mit einfachen SQL-Befehlen in ein JSON-Array?

Wie konvertiere ich eine MySQL-Ergebnistabelle mit einfachen SQL-Befehlen in ein JSON-Array?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-03 11:11:09451Durchsuche

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

MySQL-Konvertierung der Ergebnistabelle in ein JSON-Array mit einfachen Befehlen

In MySQL ist es möglich, eine Ergebnistabelle in ein JSON-Array zu konvertieren Verwendung integrierter Funktionen. Betrachten Sie die folgende Abfrage:

SELECT name, phone FROM person;

Die die folgende Ergebnistabelle zurückgibt:

name phone
Jack 12345
John 23455

Neue Lösung:

Verwendung von JSON_ARRAYAGG und JSON_OBJECT, Die folgende Abfrage erzielt die gewünschte JSON-Ausgabe:

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

The Die Funktion JSON_ARRAYAGG fasst mehrere JSON-Objekte in einem Array zusammen, während die Funktion JSON_OBJECT ein Objekt mit den angegebenen Schlüssel-Wert-Paaren erstellt.

Alte Lösung:

Alternativ können Sie Verwenden Sie die Funktionen CONCAT, GROUP_CONCAT und JSON_OBJECT, um das JSON zu erstellen array:

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

Die CONCAT-Funktion verkettet die Zeichenfolgen, GROUP_CONCAT fasst die JSON-Objekte in einer durch Kommas getrennten Liste zusammen und JSON_OBJECT erstellt die einzelnen Objekte.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine MySQL-Ergebnistabelle mit einfachen SQL-Befehlen in ein JSON-Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn