我寫了一個函數來驗證Python中的Json對象。以下是代碼片段:數字字符串屬於Json嗎?
def is_json(myjson):
"""
Check whether a string is a json object.
:param myjson: the string to check
:return: True/False
"""
try:
json_object = json.loads(myjson)
except ValueError, e:
return False
return True
不過,我偶然發現,它允許數字串。例如,
is_json("123") # return True
is_json("-123") # return True
is_json("0123") # return False
is_json(" 123") # return True
從我的理解,數量不應該是JSON數據的一部分。我也用其他一些Json formatter tool進行了確認。如果這是真的,爲什麼json.loads
允許數字字符串?
whicg python version? –
@ ItayMoav-Malimovka Python 2.7.12 – ichbinblau
@Kevin yes python似乎使用RFC 7159,因此這是正確的。 https://docs.python.org/3/library/json.html –