-->

邮差显示在JSON响应意外“A”,但JSON是良好地形成(Postman show unexpect

2019-09-28 00:52发布

我正在开发用的Silex框架后端和我测试这一段代码

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

在每一个浏览器调用其中包含它打印好了的foreach的路线,并给出了输出被认为是由不同的JSON验证良好的。 在当我点击邮递员“漂亮”的Json它显示了Unexpected 'A'
在RAW,HTML和其他视图选项的JSON文件是没有问题的打印。 我应该保持令人担忧这个问题,或者只是忽略它? 如果我不应该忽视它,有没有解决?

Answer 1:

在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你犯了一个查询数据库,并返回一个行(或查询的类型取决于多个行),PHP认为,响应在JSON结构,但它不是,所以它使用的是错误。
这意外的“A”只是意味着“嘿,哪里是我的JSON?我不明白什么!”
此修复程序或解决方法,只是封装你的结果在路中JSON格式。

要严格改变return resultreturn $app->json(result) 。 这个代码是基于硅石但即使你使用的是其他框架出硅石,解决的办法是字符串化的最终结果在JSON format.Here是一个小图(叫我达芬奇如果你想)更好地了解流动。

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

我希望我的回答能帮助到任何人。



文章来源: Postman show unexpected 'A' in json response , but json is well formed