-1
我试图从一个JSON字符串保存变量作为不同功能的设置使用,但不幸的是,他们没有被接受为我想要的那样好。这就是烹饪。Python JSON变量不被接受
JSON字符串来通过MQTT像这样:
def on_message(client, userdata, msg):
data = json.loads(msg.payload)
camera = picamera.PiCamera()
camera.resolution = (2592, 1944)
camera.sharpness = data['sharpness']
camera.contrast = data['contrast']
然而,当它得到的消息,它的错误了:
> File "/usr/local/lib/python2.7/dist-packages/picamera/camera.py",
> line 2392, in _set_sharpness
> "Invalid sharpness value: %d (valid range -100..100)" % value) TypeError: %d format: a number is required, not unicode
任何想法,为什么?我真的不知道为什么它与%d来了,而当我打印的数据:
print data['sharpness']
>>> 50
它散发出来的数...
任何帮助真的感谢!
你的JSON包含一个字符串值(' “50”'),而不是数字。 – RemcoGerlich
'print type(data ['sharpness'])''的结果是什么? –
'打印类型(数据['sharpness'])''。你可能(也可能不会)感到惊讶。 – DeepSpace