本文實例講述了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","www.jb51.net"],["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_mp($data);
echo
'<br><br>';
print_r($data);
echo
'<br><br>';
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代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉換工具:
http://tools.jb51.net/code/jsoncodeformat
C語言風格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP中json格式數據操作技巧匯總》、《PHP針對XML文件操作技巧總結》、《PHP基本語法入門教程》、《PHP數組(Array)操作技巧大全》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
⑵ Excel如何抓取網頁數據之JSON數據抓取
打開Chrome,在拉勾網搜索深圳市的「數據分析」職位,使用檢查功能查看網頁源代碼,發現拉勾網有反爬蟲機制,職位信息並不在源代碼里,而是保存在JSON的文件里,因此我們直接下載JSON,並使用字典方法直接讀取數據。
抓取網頁時,需要加上頭部信息,才能獲取所需的數據。
在搜索結果的第一頁,我們可以從JSON里讀取總職位數,按照每頁15個職位,獲得要爬取的頁數。再使用循環按頁爬取,將職位信息匯總,輸出為CSV格式。
程序運行如圖:
抓取結果如圖:
數據清洗占數據分析工作量的大頭。在拉勾網搜索深圳市的「數據分析」職位,結果得到369個職位。查看職位名稱時,發現有4個實習崗位。由於我們研究的是全職崗位,所以先將實習崗位剔除。由於工作經驗和工資都是字元串形式的區間,我們先用正則表達式提取數值,輸出列表形式。工作經驗取均值,工資取區間的四分位數值,比較接近現實。
4. 詞雲
我們將職位福利這一列的數據匯總,生成一個字元串,按照詞頻生成詞雲實現python可視化。以下是原圖和詞雲的對比圖,可見五險一金在職位福利里出現的頻率最高,平台、福利、發展空間、彈性工作次之。
5. 描述統計
可知,數據分析師的均值在14.6K,中位數在12.5K,算是較有前途的職業。數據分析散布在各個行業,但在高級層面上涉及到數據挖掘和機器學習,在IT業有長足的發展。
我們再來看工資的分布,這對於求職來講是重要的參考:
工資在10-15K的職位最多,在15-20K的職位其次。個人愚見,10-15K的職位以建模為主,20K以上的職位以數據挖掘、大數據架構為主。
我們再來看職位在各區的分布:
數據分析職位有62.9%在南山區,有25.8%在福田區,剩下少數分布在龍崗區、羅湖區、寶安區、龍華新區。我們以小窺大,可知南山區和福田區是深圳市科技業的中心。
我們希望獲得工資與工作經驗、學歷的關系,由於學歷分三類,需設置3個虛擬變數:大專、本科、碩士。多元回歸結果如下:
在0.05的顯著性水平下,F值為82.53,說明回歸關系是顯著的。t檢驗和對應的P值都小於0.05表明,工作經驗和3種學歷在統計上都是顯著的。另外,R-squared的值為0.41,說明工作經驗和學歷僅僅解釋了工資變異性的41%。這點不難理解,即使職位都叫數據分析師,實際的工作內容差異比較大,有的只是用Excel做基本分析,有的用Python、R做數據挖掘。另外,各個公司的規模和它願意開出的工資也不盡相同。而工作內容的差異和公司的大方程度是很難單憑招聘網頁上的宣傳而獲得實際數據,導致了模型的擬合優度不是很好這一現實。
⑶ php提取json數組裡面的值怎麼提
先把獲取的內容列印出來 ,看看是不是正常返回的數據
$filename="http://whois.pconline.com.cn/ipJson.jsp?json=true";
$content=file_get_contents($filename);
$json=@json_decode($content);
if($json){
$city=$json->city;
}else{
echo"json解析失敗:".$content;
}
也可以根據你的框架功能,寫成日誌,方便出錯時隨時檢查
另外 ,json_decode 可以接收一個參數來確定解析成對象還是數組
$content='{"ip":"120.239.177.231","pro":"廣東省","proCode":"440000","city":"中山市","cityCode":"442000","region":"","regionCode":"0","addr":"廣東省中山市移通","regionNames":"","err":""}';
$json=json_decode($content,true);
echo$json['city'];
參考文檔:PHP json_decode
⑷ java中怎麼將json數據中的一段提取出來
import com.alibaba.fastjson.JSONObject;
public class JsonTest {
public static void main(String[] args) {
// json串(以自己的為准)
String str = "{"id":"75","shoppingCartItemList":[{"id":"407","num":"10"}]}";
JSONObject jsonObject = JSONObject.parseObject(str);
// 獲取到key為shoppingCartItemList的值
String r = jsonObject.getString("shoppingCartItemList");
System.out.println(r);
}
}