本文目錄一覽:
- 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格式的方法
原創文章,作者:CKUQ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/138906.html