① php通过post传输的json数据能采集吗
不能。所谓的json数据格式是http请求中的body是一个json格式的乎含字磨隐符串,这个用$_POST就获取不到了。PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的WEB站点瞎顷厅。
② php用curl的post方法传递json包的时候,接受方是怎么获取的呢
假设POST的数据为:{"data":"abc"}
POST参数为:data
同样以PHP为例,接受并处理请求的相关代码如下:
<?php
extract($_POST);//将数组中的key摊成变量,并导入key对应的值
if(!empty($data))
{
$data=json_decode($data);//json字孙亏漏符串解码成json数据
var_mp($data);//打印json数据
//输出结果
object(stdClass)[1]
public'则烂data'空颂=>string'abc'(length=3)
}
③ 在PHP中怎么接收post过来的JSON数据
$jsonData=$_POST['jsonData'];//接收数据
$arrayData=json_decode($jsonData,true);//转码为数组
var_mp($arrayData);//打印结果
④ 在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_decode($json, true)将json字符串转化为php数组:
<?php
$json='{"create":14275555101,"data":{"object":{"order_no":"123456789","amount":100}},"object":"event"}';
$arr=json_decode($json,true);
if(isset($arr['data']['object']['order_no']))
{
var_mp($arr['data']['object']['order_no']);
}
if(isset($arr['data']['object']['order_no']))
{
var_mp($arr['data']['object']['amount']);
}
⑥ PHP使用POST传递json数据的接收与处理问题
前端传给服务器的只是json 格式的字符串,使用json_decode,
mixed json_decode ( string $json [, bool $assoc ] )
var_mp(json_decode($json));
var_mp(json_decode($json, true));
如果不带参数,则返回为对象
带上true时,返回数组
foreach($ARR as $k=>$v){
echo 'key='.$k.';value='.$v;
}
单独处理每个key 和对应的value就好
⑦ php怎么接收json数据格式
PHP接收JSON格式的数据
在API服务中,目前流行采用json形式来交互。
给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据。
接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型。因此,对型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之类的内容无法解析,如果用$_POST数组来接收就会失败!
此时可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 来获取提交的数据
查看手册,可以发现$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的区别:
$_POST:通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量。
$GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。也就是说基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一样的。但是如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。
⑧ 请教,php如何获取远程JSon内容 并post一些参数
$data = file_get_contents($url);//目的页面内容获取 $t = json_decode($data,1);//转换为PHP数组 //处理... $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $urlo);//数据发送地址 curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);//发送的数据数组 curl_exec($ch);
⑨ 在PHP中怎么接收来自app的JSON数据
根据你的代码,你是用的是POST方法。
要在PHP中整体接收POST数据,有两种方法。
注意,要使用以下两种方法,Content-Type不能为multipart/form-data。
方法一:
使用:
file_get_contents('php://input')
其中,php://input是一个流,可以读取没有处理过的POST数据(即原始数据)。相较于$HTTP_RAW_POST_DATA而言,它给内存带来的压力较小,并且不需要特殊的php.ini设置。
方法二:
使用此方法,需要设置php.ini中的always_populate_raw_post_data值为On。
使用$HTTP_RAW_POST_DATA,包含了POST的原始数据。但这不是一个超全局变量,要在函数中使用它,必须声明为global,或使用$GLOBALS['HTTP_RAW_POST_DATA']代替。
⑩ php 怎么接收前端传来的json数据
<?php
header("Content-type:text/html;charset=utf-8");
if($_POST){
$d = $_POST['data'];//这里获取的直接就是数组了,不需要用到json_decode
echo $d['doing'];
//print_r($d);
exit;
}
?>
<script src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#xx").click(function(){
var url = "test.php";
var str ="{'doing':'createvote','type':'type','num':'num','votetheme':'votetheme','creater':'loginname'}";//json格式字符串
var data = eval('('+str+')');//转换成数组对象,不加这步,那么PHP获取的是字符串。
$.post(url, {'data': data}, function(res) {//注意jquery的$.post的第2个参数必须是键值对形式
alert(res);
});
});
});
</script>
<input id="xx" type="button" value="点击">