程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php讀取json時無數據(為空)的解決方法,phpjson

php讀取json時無數據(為空)的解決方法,phpjson

編輯:關於PHP編程

php讀取json時無數據(為空)的解決方法,phpjson


在使用PHP調用一些json接口文件時 如果使用 file_get_contents 獲取頁面json數據後 

再使用json_decode()解析後 數據無法正常輸出 這是的返回值為null

這是由於php的file_get_contents得到的數據前面有三個看不到的BOM字符,將php轉碼或設置頭部編碼為無BOM依舊無法解決

一種可行的辦法就是:

<?php
$str = file_get_contents('json接口地址'); //獲取頁面地址 $str = substr($str,3); //由於php問題file_get_contents得到的數據前面有三個看不到的BOM字符 使用substr函數提取第三個字符後的內容 $json = json_decode($str, true);//解析json代碼 返回為 array 值 echo $json['motd'];//以array 輸出json中的 motd 數組

 另外一種:

<?php
$str = file_get_contents('json接口地址'); //獲取頁面地址
$json = json_decode(trim($str,chr(239).chr(187).chr(191)),true); //chr(239).chr(187).chr(191)在輸出時 組成了utf8文件的bom頭,之後用trim函數將其移除
print_r($json); //以array 輸出json

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved