2025-09-06 23:09:27

大家好,今天小编关注到一个比较有意思的话题,就是关于php 接收json的问题,于是小编就整理了3个相关介绍php 接收json的解答,让我们一起看看吧。

老版本PHP转义Json里的特殊字符的函数?

$arr = array( "renovação" ,"automática"); $res = array("res"=>$arr); $res = json_encode($res, JSON_UNESCAPED_UNICODE); echo $res;

php 接收json,PHP接收json

php如何接收json数据?

根据个人理解PHP接收json数据有三种:获取json格式的请求参数;获取json文件中的数据;获取接口返回的寄送数据。下面将一一讲述:

1、获取请求参数

$input = file_get_contents("php://input");

$input = json_decode($input,true);

var_dump($input);

2、获取文件中的json

$jsonStr = file_get_contents('src/xx.json');

$jsonObj = json_decode($jsonStr, true);

3、获取接口返回的json(以post请求为例)

function run_curl_json($url, $data, $timeout) {

$data = json_encode($data);

$ch = curl_init($url); //请求的URL地址

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . strlen($data)));

$ret = curl_exec($ch);

$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);

$jsonObj = json_decode($ret, true);

return ['data' => $jsonObj, 'code' => $httpCode];

}

以上三种方式中获取到的都是json字符串,然后通过json_decode将json字符串转为数组。

PHP后端很难返回规范的JSON数据吗?

PHP作为当下主流的脚本语言,因其简单高效的特点备受关注,基于PHP开发的项目也是很多的,可以说PHP是作为Web开发的首选开发语言。但是PHP本身是弱类型语言,所以在某些地方的支持度上也是存在一些问题的,比如对于JSON的处理就存在一定的差异化。

PHP弱类型可能会导致JSON返回时不够标准

PHP它是弱类型的脚本语言,所以在输出方面所有类型默认会被当成String输出。可能有PHP开发者不太理解这句话,举例来说:如果通过PHP从数据库中查询数据,那返回的数据其实都被当成了String类型,即使字段类型是int、double这类的也会被当成String处理。

在这种情况下,不同的开发者写出来的JSON可能就存在差异,比如:

{"name":"张三","age":22}

{"name":"张三","age":"22"}

另外在PHP环境下输出对象类型的字段时,也会出现问题,有些时候下会将{}返回成[],比如:

{"name":"张三","info":{}}

{"name":"张三","info":[]}

上面例举的这2个例子危害性很大,特别是作为API输出时会让调用方崩溃。

PHP后端如何规范返回JSON?

弱类型语言看似方便容错性高,其实更容易出现Bug,这也是一些安全系数要求高的项目并不会采用PHP这类弱类型语言去开发的原因。

那PHP在对JSON处理这块应该怎么做呢?我的建议就是定义好数据返回模板,然后进行数据填充生成JSON字符串再返回。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!

json数据怎么样才算规范?

$array=array();

print_r(json_encode($array));

真是怪了,你是看json来开发的,还是看文档开发的?

到此,以上就是小编对于php 接收json的问题就介绍到这了,希望介绍关于php 接收json的3点解答对大家有用。

上一篇:web php,web PHP项目经历

下一篇:php 图片验证码,php 图片验证码功能怎么实现

相关阅读