导航:首页 > 编程语言 > php接收json对象

php接收json对象

发布时间:2022-12-11 22:32:32

‘壹’ 如何用php调用外部接口json数据

file_get_contents或者curl都可以
接收到数据后,可以使用php函数json_decode()把json转换成数组或对象格式

‘贰’ php怎么写服务端获取 客户端发来的json

如果使用的是HTTP协议的GET方法,数据保存在$_GET数组中.
如果使用的是HTTP协议的POST方法,数据通常保存在$_POST数组中.
注:如果post方法没有指出数据类型,提交的数据可以通过$HTTP_RAW_POST_DATA获取.

找到数据后可以通过json_decode函数处理下即可转换成数组或对象.

‘叁’ 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的内容

如果json是以对象的方式存储于变量$json中,则这样引用: $json->openid

如果json是以关联数组的方式存储于变量$json中,则这样引用: $json['openid']

如果json是以字符串的方式存储于变量$json中,则需要先转换一下:

$a=json_decode($json);
print_r($a->openid);

或者

$a=json_decode($json,true);
print_r($a['openid']);

‘伍’ php如何接收js传来的json

感觉楼主对json_decode这个函数有点理解错误,这个函数时将一个json格式的字符串转化成php数组用的,前提是其中的参数必须为字符串

那我们回头看下楼主的代码,经过eval以后jsondata变成了一个数组形变量,结构似乎有点奇怪,有5个元素的一个数组,但是每个元素又是一个json对象,而每个json对象又只有一个变量。换句话说如果想获取createvote这个值,那么就需要调用jsondata[0].doing


而且,post发送的数据要求是json对象,而楼主这个根本就是不是json...能否发送都是个问题...


楼上那个说$_POST获取数据的,我试了一下,似乎不行。$_POST['doing']压根就是个未定义的值


如果要json_decode那就没必要先eval一下,感觉会弄巧成拙


给楼主一个代码

js:

vardata='{"doing":"createvote","type":"type","num":"num","votetheme":"votetheme","creater":"loginname"}';
$.post(url,{data:data},function(res){alert(res)});

注意data变量,‘与“的位置,不要写反,反了的话json_decode是不能编译


php:

<?php
if(isset($_POST["data"]))var_mp(json_decode($_POST["data"],true));
?>


根据返回的格式很明显就是一个php的array格式


post的参数必须是name->value的格式,如果单纯post一个变量,那么就相当于只有value,没有name,所以我这里将post的传参值写为{data:data}第一个data是name,第二个data是之前定义的字符串

‘陆’ php 接收JS过来的JSON数据

用php处理json数据,需要用json_decode函数转成json对象,再取其属性的值.

完整的php程序如下

‘柒’ php如何返回json对象呢

返回json用的json_encode()方法没错,但是需要在头部声明格式。
代码解析
php返回需要用json_encode()方法来将需要转换的字符串转换成json编码格式(注意:仅仅更换文件内容,而返回的文件依然为文本格式且编码为gtk)
所以,这里需要在php头部声明
header('Content-Type:text/json;charset=utf-8');

拓展内容
json
JSON(javaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
json通常被作为配置文件,常见还有.ini
0

‘捌’ php如何接收js传来的json对象

你无法传json对象到服务端交互的,要传的只是一个字符串(Json),是个字符串!

你发的代码里是json的解析,没有多大意义,你在php页面这样调试

var_mp($_REQUEST);//输出所有数据,如果存在的话,你会看到那个参数是啥


另外,json格式,主要方便javascript解析的,而不是php擅长的内容,多数情况下,是PHP返回json数据给js.

php的数组操作函数有主要的两个json_encode()与json_decode();

从你的代码中,我不确定你用何种方式通信,ajax?

我看你用到了jQuery,那里面有个ajax,方式类似这样的:

$.ajax({
type:"post",//method;canbegetwithpostorrequest
url:"/mySever.php",//phpurl
error:function(){alert('Error');},
data:{
data1:name,
data2:age,
},
datatype:"json",//jsonback
timeout:5000,
success:function(msg)
{
//eval(msg);//parasehere
}
});
returnfalse;
}

‘玖’ php 如何将获取json中的参数的值

很简单。
因为Json实际上就是一个字符串,因此语言提供了将其转换成数组,对象的能力。
使用json_decode就可以将字符串转一个关联数组。
比如$data = json_decode("{'success':1,xxxxxxxx}");
echo $data[tender_id];就OK了

‘拾’ 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="点击">

阅读全文

与php接收json对象相关的资料

热点内容
如何批量快速压缩视频 浏览:432
我的世界如何加入ice服务器 浏览:873
兄弟cnc编程说明书 浏览:204
php闪电入门教程学习 浏览:152
金岳霖逻辑pdf 浏览:938
linuxtomcat线程 浏览:77
pboc长度加数据加密 浏览:187
英雄联盟国际服手游怎么下安卓 浏览:297
程序员的思路 浏览:234
只能用命令获得的四种方块 浏览:358
怎么用命令方块防止开创造 浏览:807
扫描版的pdf 浏览:790
编程猫怎样做3d游戏 浏览:207
怎么查找云服务器上的ftp 浏览:156
我的世界服务器如何注册账号 浏览:934
统计英文字符python 浏览:423
linux信息安全 浏览:909
压缩机接线柱爆 浏览:1000
程序员自主创业 浏览:584
汇编程序员待遇 浏览:360