我正在开发用的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文件是没有问题的打印。 我应该保持令人担忧这个问题,或者只是忽略它? 如果我不应该忽视它,有没有解决?
在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 result
与return $app->json(result)
。 这个代码是基于硅石但即使你使用的是其他框架出硅石,解决的办法是字符串化的最终结果在JSON format.Here是一个小图(叫我达芬奇如果你想)更好地了解流动。
|*Frontend*| route request | *Backend* | query |*Database*|
| |------------------->| |---------->| |
| | Response | json(result) | array | |
| |<-------------------|<--------------|<----------| |
我希望我的回答能帮助到任何人。