我希望输入数据为json,但我得到“0.0”并且我的代码崩溃了。所以我添加了异常,但是在下面的示例中它不起作用并且没有抛出异常:
import json
msg_payload="0.0"
try:
a = json.loads(msg_payload)
except ValueError, e:
print("JSON FAIL")
print a
并且此代码抛出异常:
import json
msg_payload="0.0.0"
try:
a = json.loads(msg_payload)
except ValueError, e:
print("JSON FAIL")
print a
那么为什么字符串“0.0”没有例外,字符串“0.0.0”
答案 0 :(得分:2)
有效负载0.0
是有效的JSON代码,只包含一个浮点数。 0.0.0
不是因为字符串需要用引号括起来。
如果您希望0.0
产生错误,则应在JSON代码的结构上添加自己的限制。
答案 1 :(得分:0)
'0.0.0'
不是有效的JSON格式。它不能像这样解码。它不是浮动的,它也不是一个字符串。要将其作为字符串加载,您需要使用双引号'"0.0.0"'
。