A. python怎麼讀取json文件內容
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基於ECMAScript的一個子集。 JSON採用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C、C++、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數據交換語言。易於人閱讀和編寫,同時也易於機器解析和生成(一般用於提升網路傳輸速率)。
JSON在python中分別由list和dict組成。
這是用於序列化的兩個模塊:
json: 用於字元串和python數據類型間進行轉換
pickle: 用於python特有的類型和python的數據類型間進行轉換
Json模塊提供了四個功能:mps、mp、loads、load
pickle模塊提供了四個功能:mps、mp、loads、load
json mps把數據類型轉換成字元串 mp把數據類型轉換成字元串並存儲在文件中 loads把字元串轉換成數據類型 load把文件打開從字元串轉換成數據類型
json是可以在不同語言之間交換數據的,而pickle只在python之間使用。json只能序列化最基本的數據類型,josn只能把常用的數據類型序列化(列表、字典、列表、字元串、數字、),比如日期格式、類對象!josn就不行了。而pickle可以序列化所有的數據類型,包括類,函數都可以序列化。
事例:
mps:將python中的 字典 轉換為 字元串
B. python json快速解析命令
json.mps 用於將 Python 對象編碼成 JSON 字元串。
json.loads 用於解碼 JSON 數據。該函數返回 Python 欄位的數據類型。
demjson.encode() 函數用於將 Python 對象編碼成 JSON 字元串。
demjson.decode() 函數解碼 JSON 數據。該函數返回 Python 欄位的數據類型。
1、以下實例將數組編碼為 JSON 格式數據:
#!/usr/bin/python
import json
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
json = json.mps(data)
print json
2、以下實例展示了Python 如何解碼 JSON 對象:
#!/usr/bin/python
import json
jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
text = json.loads(jsonData)
print text
C. 求助,python 解析爬取的網頁源碼中的json部分
我用re把json的部分截取出來了,也用json.loads()解析成了字典,現在的問題是裡面需要的信息那部分是有一些是unicode 編碼的,求解。。。。
{"pageName":"mainsrp","mods":{"shopcombotip":{"status":"hide","export":false},"shopstar":{"status":"hide","export":false},"navtablink":{"status":"hide","export":false},"personalbar":{"status":"show","data":{"metisData":{"nickname":"","query":"秋季打底衫","shopItems":[{"text":"黃鑽愛買店鋪","count":"500+","url":"/search?q\u003d秋季打底衫\u0026tab\u003dmysearch\u0026filter_rectype\u003d44\u0026stats_click\u003dms_from:44","trace":"metis44"},{"text":"回頭客愛買店鋪","count":"500+","url":"/search?q\u003d秋季打底衫\u0026tab\u003dmysearch\
D. python中如何遍歷json數組
1、創建python文件,testjson.py;
E. python鎬庝箞璇誨彇json鏂囦歡鍐呭
Python璇誨彇JSON鏂囦歡鍐呭圭殑姝ラゅ備笅錛
1. 浣跨敤鍐呯疆鐨刞json`妯″潡涓鐨刞load`鎴朻loads`鍑芥暟鏉ヨ誨彇JSON鏂囦歡鍐呭廣傝繖涓や釜鍑芥暟鐨勪富瑕佸尯鍒鍦ㄤ簬璇誨彇鐨勬暟鎹鏍煎紡涓嶅悓錛宍load`鐢ㄤ簬璇誨彇鏂囦歡瀵硅薄錛岃宍loads`鐢ㄤ簬璇誨彇瀛楃︿覆銆備互涓嬫槸鍏蜂綋鏂規硶錛
浣跨敤`json.load`璇誨彇JSON鏂囦歡鍐呭
* 鎵撳紑鏂囦歡錛氫嬌鐢≒ython鍐呯疆鐨刞open`鍑芥暟鎵撳紑JSON鏂囦歡銆
* 璇誨彇鏂囦歡錛氫嬌鐢╜json.load`鍑芥暟璇誨彇鏂囦歡鍐呭癸紝騫跺皢鍏惰漿鎹涓篜ython瀵硅薄銆
* 鍏抽棴鏂囦歡錛氫嬌鐢╜close`鏂規硶鍏抽棴鏂囦歡銆
浣跨敤`json.loads`璇誨彇JSON瀛楃︿覆鍐呭
* 鐩存帴灝咼SON鏍煎紡鐨勫瓧絎︿覆浣滀負鍙傛暟浼犻掔粰`json.loads`鍑芥暟榪涜岃В鏋愶紝騫跺皢瑙f瀽緇撴灉榪斿洖涓篜ython瀵硅薄銆傛棤闇榪涜屾枃浠剁殑鎵撳紑鍜屽叧闂鎿嶄綔銆
涓嬮潰鏄浣跨敤`json.load`璇誨彇JSON鏂囦歡鐨勭ず渚嬩唬鐮侊細
python
import json
# 鎵撳紑JSON鏂囦歡
with open as f:
# 璇誨彇鏂囦歡鍐呭瑰苟杞鎹涓篜ython瀵硅薄
data = json.load
print # 杈撳嚭瑙f瀽鍚庣殑鏁版嵁鍐呭
浠ヤ笅鏄
璇︾粏瑙i噴錛
* 棣栧厛錛岄渶瑕佸煎叆Python鍐呯疆鐨刞json`妯″潡錛屼互渚誇嬌鐢ㄥ叾涓鐨勫嚱鏁版潵瑙f瀽JSON鏁版嵁銆
* 鐒跺悗錛屼嬌鐢╜open`鍑芥暟浠ュ彧璇繪ā寮忔墦寮JSON鏂囦歡錛屽苟灝嗘枃浠跺硅薄璧嬪肩粰鍙橀噺`f`銆傝繖閲岀殑鏂囦歡璺寰'data.json'搴旀浛鎹涓哄疄闄呯殑JSON鏂囦歡璺寰勩
* 鎺ョ潃錛屼嬌鐢╜json.load`鍑芥暟璇誨彇鏂囦歡瀵硅薄`f`涓鐨凧SON鏁版嵁錛屽苟灝嗗叾杞鎹涓篜ython瀵硅薄銆傝繖涓杞鎹㈣繃紼嬬О涓鴻В鏋愩傚皢瑙f瀽鍚庣殑鏁版嵁瀛樺偍鍦ㄥ彉閲廯data`涓銆傛ゅ勮繕鍙浠ヤ嬌鐢ㄥ叾浠栭夐」鏉ヨ繘涓姝ュ畾鍒惰誨彇榪囩▼銆
* 鏈鍚庯紝閫氳繃鎵撳嵃鍙橀噺`data`鐨勫唴瀹癸紝鍙浠ラ獙璇佽В鏋愬悗鐨勬暟鎹鏄鍚︽垚鍔熻誨彇騫跺瓨鍌ㄥ湪Python瀵硅薄涓銆傚畬鎴愭搷浣滃悗錛屼嬌鐢╜close`鏂規硶鍏抽棴鏂囦歡錛岄噴鏀捐祫婧愩傚傛灉澶勭悊瀹屾枃浠跺悗涓嶅啀闇瑕佷繚鐣欐枃浠跺硅薄錛屼篃鍙浠ヤ嬌鐢≒ython鐨勪笂涓嬫枃綆$悊鍣錛岃繖鏍峰湪浠g爜鍧楃粨鏉熸椂鏂囦歡浼氳嚜鍔ㄥ叧闂銆傝繖鏍峰彲浠ョ『淇濆嵆浣垮湪鍙戠敓寮傚父鏃朵篃鑳芥g『鍏抽棴鏂囦歡錛岄伩鍏嶈祫婧愭硠婕忋