Hola, si es posible enviar un JSON desde javascript por ajax. Lo unico que debes hacer es usar la el método JSON.strinify(mi_objeto_json) de la siguiente forma
$.ajax({
url: 'mi_url',
type: 'POST',
data: {datos_json : JSON.stringify(mi_objeto_json)},
success: function(data){}
});
Del lado de PHP, para recuperar la variable en forma de array asociativo:
$array_asociativo = json_decode($_POST['datos_json'],true);
Espero haber ayudado.