PHP:接受和发送 json 数据

当前网页的前后端数据交互,类型大多是 json 类型的,因此学会如何进行接收和发送数据比较重要。

接收 json数据

接收无疑就是接受并处理 json 数据,php 也内置了相应的模块,我们只需要进行相应的操作就可以将发送过来 json数据以键值对数组的格式拿到手。之后再进行相应的数据处理 😃

	<?php
	$data = file_get_contents('php://input');
	$jsonArr= json_decode($data, true);
	echo "id: {$jsonArr['id']}</br>";
	echo "name: {$jsonArr['name']}";
	?>
发送 json 数据

其实发送一个 json 数据很简单,别人访问你的网站,只要你的网站内容是符合 json 数据格式的话,那么就可以将其作为json数据发送出去,而在 php 中,我们可以这么做 😃

	<?php
	$arr = array(
	    "name" => "你好",
	    "sex" => "boy"
	);
	echo json_encode($arr , JSON_UNESCAPED_UNICODE);
	?>

若上述发送 json 无效时,则说明编码格式非 UTF-8,由于其json_encode只识别 UTF-8编码格式,所以我们要将其转换为UTF-8 😃

	<?php
	$arr = array(
	    "name" => "你好",
	    "sex" => "boy"
	);
	// 将字符串转换编码格式为 UTF-8 编码格式
	function getStringUTF8($str, $mode)
	{
	    if (is_numeric($str)) {
	        return $str;
	    }
	    return iconv($mode, "UTF-8", $str);
	}
	// 将数组中的所有的值转化为 UTF-8
	function transformAll($arr)
	{
	    if (is_array($arr)) {
	        foreach ($arr as $key => $val) {
	            $arr[$key] = transformAll($val);
	        }
	    } else {
	    	// 开发环境是啥编码格式就写啥编码格式,一般为 GBK
	        $arr = getStringUTF8($arr, "GBK");
	    }
	    return $arr;
	}
	echo json_encode(transformAll($arr), JSON_UNESCAPED_UNICODE);
	?>

这样别人访问你的这个php网址时显示的就是一段json数据 😃
。。。

问题询问:hellolxb@yeah.net

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值