从PHP脚本中返回JSON
我想从一个PHP脚本中返回JSON。
我可以直接回显结果吗?我必须设置 "Content-Type "头吗?
805
17
我想从一个PHP脚本中返回JSON。
我可以直接回显结果吗?我必须设置 "Content-Type "头吗?
虽然你通常不需要它,但你可以而且应该设置Content-Type头。
如果我没有使用特定的框架,我通常允许一些请求参数来修改输出行为。 一般来说,为了快速排除故障,可以不发送头,或者有时print_r数据有效载荷来监视它(尽管在大多数情况下,它不应该是必要的)。
一段完整的漂亮而清晰的返回JSON的PHP代码是:{{{7774088}}。
根据json_encode手册,该方法可以返回一个非字符串(false)。
>.方法可以返回一个非字符串(false): 成功时返回一个JSON编码的字符串,失败时返回
FALSE
。当这种情况发生时,
echo json_encode($data)
将输出空字符串,即无效JSON。例如,
json_encode
将失败(并返回false
),如果它的参数包含一个非UTF-8字符串。这个错误条件应该在PHP中被捕获,例如这样。
那么接收端当然应该意识到,jsonError属性的存在表明了一个错误条件,它应该据此进行处理。
在生产模式下,最好只向客户端发送一个通用的错误状态,并记录更具体的错误信息供以后调查。
在PHP's Documentation中阅读更多关于处理JSON错误的信息。
尝试用[json_encode][1]对数据进行编码,并用
header('Content-type.Application/json');
设置内容类型。 application/json');`。[1]: http://php.net/manual/en/function.json-encode.php
用
header('Content-type: application/json');
设置内容类型,然后呼出你的数据。设置访问安全也是很好的--只需将*替换为你希望能够访问的域名即可。
这里有更多关于这方面的样本。 https://stackoverflow.com/questions/7564832/how-to-bypass-access-control-allow-origin
如上所述。
将使工作。 但请记住,即使不使用这个头,.Ajax也能顺利读取json。
即使不使用这个头,Ajax读取json也没有问题,除非你的json包含一些HTML标签。 在这种情况下,你需要将头设置为application/json。
确保你的文件没有使用UTF8-BOM编码。 这种格式会在文件顶部增加一个字符,所以你的header()调用会失败。
你的问题的答案在这里。
它说。
因此,如果你将标头设置为该类型,并输出你的JSON字符串,它应该可以工作。
是的,你需要使用echo来显示输出。Mimetype: application/json
如果你需要从php中获取json发送自定义信息,你可以在打印任何其他东西之前添加这个
header('Content-Type: application/json');
在打印任何其他东西之前,所以你可以打印你的customeecho '{"monto": "'.$monto[0]->valor.'","moneda":"'.$moneda[0]->nombre.'","simbolo":"'.$moneda[0]->simbolo.'"}';
。这是一个简单的PHP脚本来返回男性女性和用户ID作为json值将是任何随机值,因为你调用脚本json.php。
希望这能帮助你,谢谢
如果你查询数据库并需要JSON格式的结果集,可以这样做。
关于使用jQuery解析结果的帮助,请看本教程。
将域对象格式化为JSON的一个简单方法是使用Marshal Serializer.然后将数据传递给
json_encode
,并根据你的需要发送正确的Content-Type头。 然后将数据传递给json_encode
,并根据你的需求发送正确的Content-Type头。 如果你使用的是像Symfony这样的框架,你就不需要手动设置头文件了,你可以在那里使用[Json_encode]()。 在那里你可以使用JsonResponse。例如,处理Javascript的正确Content-Type应该是
application/javascript
。或者如果你需要支持一些很老的浏览器,最安全的是
text/javascript
。对于所有其他目的,如移动应用程序,使用
application/json
作为Content-Type。下面是一个小例子。
你可以使用这个【PHP小库】[1]。 它发送头文件,并给你一个对象,让你轻松使用它。
它看起来像:
[1]: https://github.com/AlexisTM/Simple-Json-PHP
一个简单的函数,用来返回一个JSON响应和HTTP状态代码。
当你试图为API返回JSON响应时,请确保你有适当的头,并确保你返回一个有效的JSON数据。
这里是帮助你从PHP数组或API返回JSON响应的示例脚本。 来自JSON文件.
[![在此输入图像描述][1]][1]
[1]: https://i.stack.imgur.com/0TYOJ.png