2011-08-18 5 views
5

json処理のために下の括弧を取り除くにはどうすればよいですか?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"}] 

上記結果は

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; 
    } 

は、それから私は、JSON形式に

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

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

のアレイを有効にするjson_encodeを使用しかし、私は必要、配列に以下のクラスによって処理されこれは私の結果では、角かっこなしで、

{"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

角かっこなしでは、json文字列は無効です。 JSON文字列には単一の値しか含めることができません。角かっこは、配列またはオブジェクトです。角かっこなしでは、コンマで区切られた一連のオブジェクトで、無効です。 –

+1

これは有効なJSONではありません。 – hop

+0

なぜあなたは '[]'を望んでいませんか?結果の文字列で何をするつもりですか? –

答えて

16

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

+0

ありがとうございます。私もそれを考えました! – laukok

関連する問題