Ho scoperto che questo è il modo più semplice per affrontarlo
echo json_encode($array, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
JSON_PRETTY_PRINT - rende leggibile
JSON_UNESCAPED_UNICODE - codifica i caratteri correttamente
JSON_UNESCAPED_SLASHES - elimina la barra di escape '\'
nota inoltre che queste opzioni sono separate da una pipe '|'