pythonjson判斷
A. python爬蟲(七)數據處理方法之JSON
JSON 指的是 JavaScript 對象表示法(JavaScript Object Notation),是輕量級的文本數據交換格式,且具有自我描述性,更易理解。
JSON看起來像python類型(列表,字典)的字元串。
在之前的文章中,我們說到了怎麼用response的方法,獲取到網頁正確解碼後的字元串。如果還有不懂的,可以先閱讀 Python爬蟲(三)Requests庫 。接下來以有道翻譯為例子,說說怎麼通過網頁解碼後的字元串,提取到翻譯結果。
再結合上述有道翻譯的例子,得到字典類型的返回結果,並提取出來翻譯結果。
將上述例子的dict_json換成str字元串,再寫入文本中。
執行完上述的程序,會得到一個fanyi.txt的文件,其結果如下:{"type": "ZH_CN2EN", "errorCode": 0, "elapsedTime": 1, "translateResult": [[{"src": "\u4eba\u751f\u82e6\u77ed\uff0c\u6211\u7528python", "tgt": "Life is too short, I use python"}]]}。這樣子的一份文檔,中文部分顯示的是二進制,且格式非常不利於閱讀,這並不是我們想要的結果。好在json.mps()為我們提供的兩個方法,以幫助我們更好閱讀文檔。
1.ensure_ascii,能夠讓中文顯示成中文;
2.indent,能夠讓下一行在第一行的基礎上空格。
其用法如下:
B. python怎麼判斷json 字元串含有某一個字元
python的string對象沒有contains方法,不用使用string.contains的方法判斷是否包含子字元串,但是python有更簡單的方法來替換contains函數。
方法1:使用 in 方法實現contains的功能:
site = ''
if "jb51" in site:
print('site contains jb51')
輸出結果:site contains jb51
方法2:使用find函數實現contains的功能
s = "This be a string"
if s.find("is") == -1:
print "No 'is' here!"
else:
print "Found 'is' in the string."
C. python介面測試request返回json數據,自定義一個字典,怎麼判讀這個字典是返回數據的子集
defis_subdict(dict1,dict2):
'''
判斷字典dict2是否為dict1的子集
>>>is_subdict({'a':1,'b':2},{'a':1})
True
>>>is_subdict({'a':1,'b':2},{'c':3})
False
'''
d=dict(dict1,**dict2)
returnd==dict1
if__name__=='__main__':
importdoctest
doctest.testmod()
D. python json 資料判斷 true 或 false
your_data_dict=json.loads(your_json_data_string)
#Heretogetadictionaryobject.
#Maybe,'test'
ifyour_data_dict['test']isTrue:
#dowhatyouwant
pass
E. 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
F. python如何判斷一段字元串是否是json格式的。
try:
eval(jsonStr)
exceptException,e:
print"不是json字元串"
G. 請編寫Python函數判斷一個字典是否是某json考慮嵌套的情況的子集,入參1中所有key-value都在入參2中出現
可以首先使用json包的loads函數對json數據進行解析,然後就可以像操作Python數據格式一樣對數據進行索引和遍歷了。 import json s = '{"aescCityList":null,"cityAllList":null,"cityJsonArray"...' data = json.loads(s) for city in data["cityJsonArray"]: if city["cityId"] == 4: print city