No debes "crear el JSON" debes crear una estructura de datos que se pueda serializar de dicha forma.
Es bien simple, tienes un objeto (o array asociativo) donde cada elemento tiene un array, con sub-objectos (o arrays asociados dentro), no es debería ser un problema.