-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