Con le versioni più recenti di MySQL, puoi utilizzare la funzione JSON_OBJECT per ottenere il risultato desiderato, in questo modo:
GROUP_CONCAT(
JSON_OBJECT(
'name', name,
'phone', phone
)
) AS list
Per ottenere la risposta SQL pronta per essere analizzata come un array:
CONCAT(
'[',
GROUP_CONCAT(
JSON_OBJECT(
'name', name,
'phone', phone
)
),
']'
) AS list
Questo ti darà una stringa come:[{name: 'ABC', phone: '111'}, {name: 'DEF', phone: '222'}]
che può essere analizzato in JSON. Spero che questo aiuti.