邮递员在 json 响应中显示意外 'A',但 json 格式正确

Postman show unexpected 'A' in json response , but json is well formed

我正在使用 Silex 框架开发后端并且正在测试这段代码

foreach($P as $key=>$value)
    {
        $strInsert  =$key."=>".$value;      
        array_push($json,$strInsert);                 
    }
    print_r($json);
    return json_encode($json);

在每个调用包含 foreach 的路由的浏览器上,它打印得很好,并且给定的输出被不同的 json 验证器认为是格式正确的。 在邮递员中,当我单击 'pretty' Json 时,它显示 Unexpected 'A'
在原始、html 和其他视图选项上,json 文档打印没有问题。 我应该继续担心这个问题还是忽略它? 如果我不应该忽略它,是否有解决办法?

在 Silex 框架上做了大量工作来构建我的后端之后,感谢邮递员(一个 chrome 应用程序,对于测试 http 协议非常方便),我发现 php 等待Json 格式的响应。

    Example A :
    call route /path/getinfo/ with method get
    execute the code --> result=$app->SomeFunctionThatInterrogatesDB(param1...) **firing error
                         return result;

事情是这样的:在那个 somefunction 你对数据库进行查询并且它 returns 一行(或多行取决于查询类型), PHP 认为响应是在 JSON 中构建的,但事实并非如此,因此它会触发该错误。
意外的 'A' 只是意味着 "hey,where is my json? I can't understand nothing !"
修复或解决方法,只是将您的结果以 json 格式封装在路由中。

严格来说 return result 改为 return $app->json(result)。 此代码基于 silex,但即使您使用 silex 之外的其他框架,解决方案是将您的最终结果字符串化 json format.Here 是一个小图(如果需要,请叫我 davinci)以更好地理解流程。

 |*Frontend*|  route request     |   *Backend*   | query     |*Database*|
 |          |------------------->|               |---------->|          |
 |          |    Response        | json(result)  |  array    |          |
 |          |<-------------------|<--------------|<----------|          |

希望我的回答能对大家有所帮助