2017-08-31 90 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的正确编码。

一旦你检查了所有这些,我希望你不应该再有这个问题。