Q:

Select array of json objects

Using only a MySQL query is there a way to convert and select a list of JSON objects into a single column?
For example I have a table event_time which is essentially a child to the table event so for each event there are many event_time(s).  What I'm trying to do is create a query like the following:
select e.*, (some select and conversion to a json array query) as 'event_times'
from event e;

I've been trying to combine MySQL's JSON_OBJECT and JSON_ARRAY but it doesn't seem to support that.
The following query works but doesn't give me the desired outcome (because of the LIMIT 1)
select e.*,
    (select json_object("id", et.id, "event_id", et.event_id, "start_time", et.start_time, "end_time", et.end_time)
    from event_time et
    where et.event_id = e.id
    LIMIT 1) as 'event_times'
from event e;

Which returns:

If there is a way to someone stuff the result from this query
select json_object("id", id, "event_id", event_id, "start_time", start_time, "end_time", end_time) as 'event_time' from event_time;

into the JSON_ARRAY I feel it would give me what I'm looking for.  Any help would be greatly appreciated.

A:

Thanks to @BradBaskin this has already been answered on another question. 
https://stackoverflow.com/a/37474200/3071052
I took his answer and modified it slightly to my needs.
select e.*,
    (select CAST(
        CONCAT('[',
            GROUP_CONCAT(
                JSON_OBJECT('id',et.id,'event_id',et.event_id, 
                'start_time', date_format(et.start_time, '%Y-%m-%d %H:%i'), 
                'end_time', date_format(et.end_time, '%Y-%m-%d %H:%i'))
            ),
        ']')
     AS JSON) 
     from event_time et
     where et.event_id = e.id
     ) as event_times
from event e;

