2017-08-31 136 views
0

我需要返回從PHP JSON對象,這是我的代碼:額外字符

 $resultFromDB = PerformTransaction($requestToDB); 
     if($resultFromDB['status'] == '0'){ 
     $myReturn = array('status' => '0','message' => 'success'); 
     header('Content-Type: application/json'); 
     $json_result = json_encode($myReturn,JSON_UNESCAPED_UNICODE); 
     echo trim($json_result,''); 
     }else{ 
     $myReturn = array(
      'status' => $resultFromDB['status'], 
      'message' => $resultFromDB['errorMsg'] 
     ); 
     header('Content-Type: application/json'); 
     echo json_encode($return,JSON_UNESCAPED_UNICODE); 
     } 

當從功能= 0結果狀態,那麼導致這個代碼應該是:

{"status":"0","message":"success"} 

當通過理念的IntelliJ測試RESTful Web服務發送的,我得到的結果是:

 
{"status":"0","message":"success"} 

如何正確返回結果,我不會有額外的字符

+0

在header('Content-Type:application/json')之前添加函數ob_clean(); –

回答

0

我以前在Windows上使用Notepad Plus Plus時自己曾經遇到過這個問題。我能夠通過確保文件開頭沒有空格並檢查它是否爲UTF-8沒有BOM(通過菜單編碼>轉換爲UTF-8)來解決錯誤。

確保您的文件開頭沒有字符,您可以使用Notepad Plus Plus的十六進制插件來執行此操作,如果之前有任何十六進制字符,則每個字符將在開始時由十六進制字符引用一個引用你的第一個字符的人,刪除它們。

您必須爲您的所有PHP文件執行此操作,但UTF-8 Without BOM爲commonly regarded作爲PHP的正確編碼。

一旦你檢查了所有這些,我希望你不應該再有這個問題。