php json上的额外字符返回

时间:2017-08-31 04:02:09

标签: php json rest

我需要从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"}

当通过Idea IntellIJ Test RESTful webservice发送时,我得到了结果:


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

如何正确返回结果,我没有额外的字符

1 个答案:

答案 0 :(得分:0)

在Windows上使用Notepad Plus Plus时,我自己以前遇到过这个问题。我能够通过确保文件开头没有空格并检查它是没有BOM的UTF-8(通过菜单编码>转换为UTF-8)来解决错误。

确保文件开头没有字符,可以使用Notepad Plus Plus的十六进制插件执行此操作,如果在开头之前有任何十六进制字符,则每个字符将在开头用十六进制字符引用。一个引用你的第一个角色,删除它们。

您必须为所有PHP文件执行此操作,但没有BOM的UTF-8是commonly regarded作为PHP的正确编码。

检查完这一切后,我希望您不再有这个问题。