本文目录一览:
- 1、json在php中的使用之如何转换json为数组
- 2、php解析json数组问题。
- 3、PHP json多维数组追加数组怎么写?
- 4、php怎样接收整个json数组
- 5、php json操作
- 6、php 将json格式数据转换成数组的方法
json在php中的使用之如何转换json为数组
看你怎么传递这个json的.
如果是字符串传递过去, 那么这个串要eval 下, 或者使用 json2.js 中的 JSON.parse(jsontext) 方法
附: json2.js 地址:
或者点击直接下载:
如果是JSONP 协议传递过去, 就可以直接使用;
建议采用jquery+ajax模式来处理json, 哪怕是同步的, 调用起来也比直接 post/get 来的方便.
php解析json数组问题。
$a = json_decode('{"status":0,"total":1,"size":1,"contents":[{"title":"111","location":[113.11509,23.012777],"city":"\u4f5b\u5c71\u5e02","create_time":1385386545,"geotable_id":38432,"address":"\u5e7f\u4e1c\u7701\u4f5b\u5c71\u5e02\u7985\u57ce\u533a\u6c7e\u6c5f\u5357\u8def8\u53f7","province":"\u5e7f\u4e1c\u7701","district":"\u7985\u57ce\u533a","map_id":"1","uid":42504634,"coord_type":3,"type":0,"distance":370,"weight":0}]}',true);
json_decode第二个参数true
解析出来就是array(4) { ["status"]= int(0) ["total"]= int(1) ["size"]= int(1) ["contents"]= array(1) { [0]= array(14) { ["title"]= string(3) "111" ["location"]= array(2) { [0]= float(113.11509) [1]= float(23.012777) } ["city"]= string(9) "佛山市" ["create_time"]= int(1385386545) ["geotable_id"]= int(38432) ["address"]= string(43) "广东省佛山市禅城区汾江南路8号" ["province"]= string(9) "广东省" ["district"]= string(9) "禅城区" ["map_id"]= string(1) "1" ["uid"]= int(42504634) ["coord_type"]= int(3) ["type"]= int(0) ["distance"]= int(370) ["weight"]= int(0) } } }
这样的数组会取内容了吧
PHP json多维数组追加数组怎么写?
首先你需要把json转码为php可操作的数组类型(Array), 再进行追加数据.
$data = '{"msg":"200","名单":[{"名字":"小明"}]}';
$data = json_decode($data, true); // 转码为数组
$data['名单'][] = ['名字' = '新数据']; // 追加数据
// 或者: array_push($data['名单'], ['名字' = '新数据']);
$data = json_encode($data); // 重新转码为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默认识别的数据类型是application/x-标准的数据类型。
php json操作
如果是PHP的话这样做:
$json = "{ "code":0, "subcode":0, "message":"", "default":0, "data": { "app_848" : { "code":0, "subcode":0, "message" : "", "default" : 0, "data": { "Ishost":0, "items":[ ], "modvisitcount":[ {"mod":0, "todaycount":76, "totalcount":204935}, {"mod":8, "twlogincount":0, "todaycount":0, "totalcount":2} ], "twlogincount":16, "lastgettime":1495949098 } } } } ";
$jsonToArray = json_decode($json,true);
$modvisitcount = jsonToArray["data"]["data"]["modvisitcount"];
$toDayCount = $modvisitcount [0]["todaycount"];
$toTalCount = $modvisitcount [0]["totalcount"];
//如果你是需要累积的话
$toDayCount = $toTalCount = 0;
foreach($modvisitcount as $arr){
$toDayCount += $arr["todaycount"];
$toTalCount += $arr["totalcount"];
}
php 将json格式数据转换成数组的方法
如下所示:
//json格式数据
$data
=
'[{
"F_ModuleId":
"1",
"F_ParentId":
"0",
"F_EnCode":
"SysManage",}]';
//转换成数组
$arr
=
json_decode($data,true);
//输出
var_dump($arr);
以上这篇php
将json格式数据转换成数组的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:PHP使用JSON和将json还原成数组在PHP语言中使用JSON和将json还原成数组的方法PHP实现数组转JSon和JSon转数组的方法示例php
json转换成数组形式代码分享php数组转成json格式的方法