本文目錄一覽:
- 1、如何使用 Python 得到網頁返回正確的 Json 數據
- 2、如何用python獲得跨域請求的json數據
- 3、python如何獲取響應包大小
- 4、python怎麼讀取json文件內容
- 5、PYTHON關於提取返回JSON結果中特定欄位的問題
如何使用 Python 得到網頁返回正確的 Json 數據
直接把 json 放到 urllib.request.urlopen 的 data 屬性里,然後 post 過去
如何用python獲得跨域請求的json數據
首先找到獲取所需信息的請求,之後查看請求地址和請求參數,使用同樣的請求發送數據,如果能得到就OK,得不到的話,可以看一下瀏覽器的請求代碼,火狐和Chrome都可以查看,然後把這些請求頭加到代碼中,就可以查到了,如果得到的是亂碼,有可能被壓縮了,解壓一下就好,一般為gzip類型壓縮,請求頭Accept-Encoding:gzip是這樣的。
python如何獲取響應包大小
如果你使用了web框架,例如tornado,django,其中自帶get,post方法,只要在響應的class裡面,定義get,post函數,然後使用self.get_argument(“xxx”)就可以獲得該參數。
如果你沒有使用框架,python的urllib2模塊,用調用response = urllib2.urlopen(url).read()響應的url,所有post,get的數據都在response
注意,response返回應該是json格式的,所以要用json模塊,json.loads一下。
例如
response = urllib2.urlopen(url).read()
response = json.loads(response)
test = response[“test”]
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模塊提供了四個功能:dumps、dump、loads、load
pickle模塊提供了四個功能:dumps、dump、loads、load
json dumps把數據類型轉換成字元串 dump把數據類型轉換成字元串並存儲在文件中 loads把字元串轉換成數據類型 load把文件打開從字元串轉換成數據類型
json是可以在不同語言之間交換數據的,而pickle只在python之間使用。json只能序列化最基本的數據類型,josn只能把常用的數據類型序列化(列表、字典、列表、字元串、數字、),比如日期格式、類對象!josn就不行了。而pickle可以序列化所有的數據類型,包括類,函數都可以序列化。
事例:
dumps:將python中的 字典 轉換為 字元串
1 import json2 3 test_dict = {‘bigberg’: [7600, {1: [[‘iPhone’, 6300], [‘Bike’, 800], [‘shirt’, 300]]}]}4 print(test_dict)5 print(type(test_dict))6 #dumps 將數據轉換成字元串7 json_str = json.dumps(test_dict)8 print(json_str)9 print(type(json_str))
loads: 將 字元串 轉換為 字典
1 new_dict = json.loads(json_str)2 print(new_dict)3 print(type(new_dict))
dump: 將數據寫入json文件中
1 with open(“../config/record.json”,”w”) as f:2 json.dump(new_dict,f)3 print(“載入入文件完成…”)
load:把文件打開,並把字元串變換為數據類型
1 with open(“../config/record.json”,’r’) as load_f:2 load_dict = json.load(load_f)3 print(load_dict)4 load_dict[‘smallberg’] = [8200,{1:[[‘Python’,81],[‘shirt’,300]]}]5 print(load_dict)6 7 with open(“../config/record.json”,”w”) as dump_f:8 json.dump(load_dict,dump_f)
PYTHON關於提取返回JSON結果中特定欄位的問題
實際上JSON就是Python字典的字元串表示,但是字典作為一個複雜對象是無法直接轉換成定義它的代碼的字元串,Python有一個叫
simplejson的庫可以方便的完成JSON的生成和解析,這個包已經包含在Python2.6中,就叫json 主要包含四個方法:
dump和dumps(從Python生成JSON),load和loads(解析JSON成Python的數據類型)dump和dumps的唯一區別是
dump會生成一個類文件對象,dumps會生成字元串,同理load和loads分別解析類文件對象和字元串格式的JSON
import json
dic = {
‘str’: ‘this is a string’,
‘list’: [1, 2, ‘a’, ‘b’],
‘sub_dic’: {
‘sub_str’: ‘this is sub str’,
‘sub_list’: [1, 2, 3]
},
‘end’: ‘end’
}
json.dumps(dic)
#output:
#'{“sub_dic”: {“sub_str”: “this is sub str”, “sub_list”: [1, 2, 3]}, “end”: “end”, “list”: [1, 2, “a”, “b”], “str”: “this is a string”}’
舉個簡單的例子就是:
import json
s = json.loads(‘{“name”:”test”, “type”:{“name”:”seq”, “parameter”:[“1”, “2”]}}’)
print s
print s.keys()
print s[“name”]
print s[“type”][“name”]
print s[“type”][“parameter”][1]
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/156839.html