主要使用異常捕捉來判定:如果使用json.loads時產(chǎn)生異常,則判斷不是JSON。
單獨使用判斷
核心的代碼如下:
try:
json.loads(input_str)
return True
except:
return False
但是這個input_str輸入的必須是字符串撬槽。
如果放在整個代碼中,
# -*- coding:utf8 _8-
import json
def check_json(input_str):
try:
json.loads(input_str)
return True
except:
return False
def print_result(input_str):
if check_json(input_str):
print "This is a valid json."
else:
print "not a valid json."
if __name__ == '__main__':
data_json = {
'Name':'John',
'Age':18,
'Gender':'Male'
}
data_str = json.dumps(data_json)
str = "hello"
print_result(data_json)
print_result(data_str)
print_result(str)
結(jié)果是:
not a valid json.
This is a valid json.
not a valid json.
循環(huán)中判斷
代碼使用的核心代碼就是,try之后成功不做什么元咙,如果失敗就return。
try:
json.loads(s.content)
except:
return