邮递员在 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 | |
| |<-------------------|<--------------|<----------| |
希望我的回答能对大家有所帮助
我正在使用 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 | |
| |<-------------------|<--------------|<----------| |
希望我的回答能对大家有所帮助