本文目录一览:
- 1、php怎么接收json数据格式
- 2、php服务器端怎样接收来自android的json数据.android以post方式发送
- 3、php怎么接收json类型数据
- 4、在PHP中怎么接收来自app的JSON数据
- 5、PHP生成及获取JSON文件的方法
- 6、关于PHP 请求 json的办法
php怎么接收json数据格式
PHP接收JSON格式的数据
在API服务中,目前流行采用json形式来交互。
给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据。
接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-标准的数据类型。因此,对型如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服务器端怎样接收来自android的json数据.android以post方式发送
php有一个函数叫json_encode,数据从服务器中拿过来之后,我是直接添加进array里面来进行操作的,android认的JSONObject的格式是两层大括号包着的array。 你将数据从数据库中拿出来之后,组成associative array,用你的例子创建一个空array先~~ $arr = array(); $arr['test'] = 'json'; $arr['mode'] = 'single'; 这样加进一个叫$arr的数组(中文是叫这个的吧。。。orz。。。。)之后,你用另一个array再把它装进去,操作是 $arr2 = array('view' = $arr); 这样我们要的那个主要的包含数据的数组$arr就有了一个名字,于是android解析的时候就可以区别了,php输出的时候,要这样输出: echo json_encode($arr2); 于是就ok~~~会变成一个可以解析的JSONObject哦~~~~以上全部是我个人研究经验。。。。也许有更简单的方法,求高手指教~~~不过我们整个一个系统里面凡是server和android软件交互的数据我都是这么发过去的,表示JSONArray是更麻烦的东西,JSONObject神马的,还是很简单的哈~~~~~自己研究研究就出来了~~~
php怎么接收json类型数据
PHP接收JSON格式的数据
在API服务中,目前流行采用json形式来交互。
给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据。
接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-标准的数据类型。因此,对型如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默认识别的数据类型是application/x-标准的数据类型。
在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生成及获取JSON文件的方法。分享给大家供大家参考,具体如下:
首先定义一个数组,然后遍历数据表,把相应的数据放到数组中,最后通过json_encode()转化数组
json_encode()
函数的功能是将数值转换成
JSON
数据存储格式。
putjson.php:
?php
//
生成一个PHP数组
$data
=
array();
$data[0]
=
array('1','吴者然','onestopweb.cn');
$data[1]
=
array('2','何开','iteye.com');
//
把PHP数组转成JSON字符串
$json_string
=
json_encode($data);
//
写入文件
file_put_contents('test.json',
$json_string);
?
有同名的
JSON
文件则覆盖,没有则创建。
生成或覆盖的
JSON
如下:
复制代码
代码如下:[["1","\u811A\u672C\u4E4B\u5BB6",""],["2","\u7F16\u7A0B\u5F00\u53D1","jb51.net"]]
然后,把
JSON
文件中的数据读取到PHP变量中。
getjson.php:
?php
//
从文件中读取数据到PHP变量
$json_string
=
file_get_contents('test.json');
//
把JSON字符串转成PHP数组
$data
=
json_decode($json_string,
true);
//
显示出来看看
var_dump($data);
echo
'brbr';
print_r($data);
echo
'brbr';
echo
'编号:'.$data[0][0].'
姓名:'.$data[0][1].'
网址:'.$data[0][2];
echo
'br';
echo
'编号:'.$data[1][0].'
姓名:'.$data[1][1].'
网址:'.$data[1][2];
?
效果图:
PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线JSON代码检验、检验、美化、格式化工具:
JSON在线格式化工具:
在线XML/JSON互相转换工具:
json代码在线格式化/美化/压缩/编辑/转换工具:
C语言风格/HTML/CSS/json代码格式化美化工具:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP中json格式数据操作技巧汇总》、《PHP针对XML文件操作技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
关于PHP 请求 json的办法
假设get到的数据是$a = {“code”:0};
$b = json_decode($a); //$b =array('code'=0);
if(empty($b['code'])){
}