本文目录一览:
- 1、PHP如何通过Post请求发送Json数据
- 2、PHP返回json对象的问题
- 3、在PHP中怎么接收post过来的JSON数据
- 4、PHP使用POST传递json数据的接收与处理问题
- 5、php获得api返回的json数据后,如何解析?
PHP如何通过Post请求发送Json数据
首先要把数据转换成json格式,再通过curl方法调用接口并传参数
代码如下:
$keyword = urlencode($_POST['keyword']);
$parameters = json_encode(array('keyWord'=$keyword,'areaCode'='*'));
$post_data['appToken'] = "323ds7674354fds32fdsda60173";//随便写的
$post_data['parameters'] = $parameters;
$url = '';//随便写的
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);//用post方法传送参数
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
之后就返回数据即可。
PHP返回json对象的问题
代码如下:
?php
/*验证验证码是否正确*/
session_start();
$code = trim($_POST['code']);//接收前端传来的数据
$raw_success = array('code' = 1, 'msg' = '验证码正确');
$raw_fail = array('code' = 2, 'msg' = '验证码错误');
$res_success = json_encode($raw_success);
$res_fail = json_encode($raw_fail);
header('Content-Type:application/json');//这个类型声明非常关键
if ($code == $_SESSION["verfycode"]) {
echo $res_success;
} else {
echo $res_fail;
}
?
这样前端接收到的数据就是一个对象,前端操作起来非常的方便。
在PHP中怎么接收post过来的JSON数据
var allUnivList = [{
"id": 1,
"univs": [{
"id": 1001,
"name": "清华大学"
},
{
"id": 1002,
"name": "北京大学"
}],
"country_id": 0,
"name": "北京"
}]
//比如你传递的是上面这个JSON格式,在PHP端,举个用JQ提交的例子:
$.ajax({
url: "test.php",
type: "post",
data: { allcity: allUnivList},
success: function (data) {
alert(data);
},
error: function () {
alert("系统异常!");
}
});
PHP使用POST传递json数据的接收与处理问题
前端传给服务器的只是json 格式的字符串,使用json_decode,
mixed json_decode ( string $json [, bool $assoc ] )
var_dump(json_decode($json));
var_dump(json_decode($json, true));
如果不带参数,则返回为对象
带上true时,返回数组
foreach($ARR as $k=$v){
echo 'key='.$k.';value='.$v;
}
单独处理每个key 和对应的value就好
php获得api返回的json数据后,如何解析?
首先你需要使用对方约定方式获取,然后考虑是否使用缓存,最后获取到数据后使用json_decode函数解析成数组格式,接下来就是自己的逻辑代码了。