2011-08-18 15 views
5

¿Cómo puedo deshacerme de los corchetes a continuación para el procesamiento json?¿Quitar los soportes en json?

[{"success":true,"filename":"bialding_and_rebialding_plymouth02.jpg"},{"success":true,"filename":"bialding_and_rebialding_plymouth03.jpg"},{"success":true,"filename":"bialding_and_rebialding_plymouth04.jpg"}] 

El resultado anterior es procesado por la clase de abajo en una matriz,

function handle_upload($upload_directory) 
    { 
     # Loop the code according to the number of files. 
     for($i = 1; $i <= $this->total; $i++) 
     { 
      ... 

      if ($this->file->save($upload_directory.$name_filtered.'.'.$file_extension , $i-1)) 
      { 
       $message[] = array('success'=>true,'filename'=>$name_filtered.'.'.$file_extension); 
      } 
      else 
      { 
       $message[] = array('error'=> 'Could not save uploaded file.' . 'The upload was cancelled, or server error encountered'); 
      } 
     } 

     return $message; 
    } 

Luego uso json_encode para convertir la matriz en formato JSON,

$uploader = new uploader(); 
$result = $uploader->handle_upload('uploads/'); 

echo htmlspecialchars(json_encode($result), ENT_NOQUOTES); 

Pero sólo necesita esto en mi resultado sin los corchetes,

{"success":true,"filename":"bialding_and_rebialding_plymouth02.jpg"},{"success":true,"filename":"bialding_and_rebialding_plymouth03.jpg"},{"success":true,"filename":"bialding_and_rebialding_plymouth04.jpg"} 
+2

Sin los corchetes, la cadena json no será válida. una cadena JSON puede contener solo un valor único. Con los corchetes, es una matriz u objetos. Sin los corchetes, es una serie de objetos individuales separados por comas, no válido. –

+1

que ya no es válido json. – hop

+0

¿Por qué no quieres el '[]'? ¿Qué vas a hacer con la cadena resultante? –

Respuesta

16

str_replace(array('[', ']'), '', htmlspecialchars(json_encode($result), ENT_NOQUOTES));?

+0

gracias. ¡Pensé en eso también! – laukok

Cuestiones relacionadas