php-编码Json请求的问题
作者:互联网
我尝试手动构建一个Json字符串以发送给客户端.
{'result':'hhh'}
当我使用
echo json_encode(array('result'=>'hhh'));
它完美到达.
但是当我这样做
echo "{'result':'hhh'}";
不是
我发现这两个请求之间的唯一区别是第一个请求具有:
Content-Length: 9 header
和第二个(不起作用)
Content-Length: 16 header
两个字符串都应具有内容长度:16 !!!我想这与ZF和Mootools的组合有关.
解决方法:
根据规范,JSON要求在键名和字符串值两边加上双引号.
echo json_encode(array('result'=>'hhh'));
将输出
{"result":"hhh"}
该输出的长度为16个字节,如下所示:
echo strlen(json_encode(array('result'=>'hhh')));
输出“ 16”.
与手动回显的JSON一起显示时,所有遵循规范的JSON解码器都将失败或引发异常.
标签:mootools,http-headers,zend-framework,json,php 来源: https://codeday.me/bug/20191210/2103362.html