veamos por partes:
pasar un JSON de AJAX ---> PHP:
recuerda que al final todo lo que envíes por AJAX se resume en una petición HTTP, por el cual los parámetros los pasas o por GET, o por POST, siendo éste último (POST) la mejor alternativa; pero de igual forma tienes que convertir la data a enviar en algo válido para que el protocolo HTTP no lo confunda, en tal caso lo que pasas por POST debe tener la misma forma que una URL string.
para ello, puedes pasar el código JSON que generas:
var y =
"{\"nombre\" : [ \"Brais\"]}";
codificandolo como URL válida:
var y = "
elJSON=" +
encodeURIComponent( "{\"nombre\" : [ \"Brais\"]}" );
se supone que $_POST['
elJSON'] es lo que te llegue a PHP
prueba y comenta, lo ideal es que uses una consola como FireBug
para que veas que es lo que exactamente le envías al servidor Respuesta de PHP:
por lo que veo aquí, intentas devolver un array PHP previamente devuelto por json_decode, esto sólo te devolverá "Array", si
$FileImput ya es un JSON y tu objetivo es devolverlo no tiene sentido decodificarlo.
Acláranos éste punto, espero respuesta