2013-07-31 16 views
6

göndermek için python 'istekleri' kullanma gerçekten basit bir soru var, ama bunu nasıl yapacağımı anlayamıyorum. Aşağıdaki hatayı alıyorum çünküJSON boolean

payload = { 'on':true } 
r = requests.put("http://192.168.2.196/api/newdeveloper/lights/1/state", data = payload) 

Çalışmaz:

{ 'on': true } 

bunu böyle yapmak: Ben sorun Python ve İstekler kullanarak aşağıdaki yükü göndermek istediğiniz olmasıdır

gönderme
NameError: name 'true' is not defined 

gerçekolarak 'gerçek' şeklinde bir değil bu yüzden, benim sunucu tarafından kabul edilmez seçeneği. Bir öneri olan var mı? Teşekkürler! sermaye T dizeye almak için kodlamak Sen json gereken

+3

'piton üzerinde TRUE büyük 'T' :) – GP89

+2

Uhm, bu Python' TRUE ... – lunaryorn

+0

var bunun gerçek olduğunu biliyorum ile yazıldığından. Ancak, 'True' yazdığımda, bu yük "{'on:: True}" olacaktır. "{'On:: true}" olmasını istiyorum. –

cevap

1

{true 'açık'} olmalıdır.

import json 
payload = json.dumps({"on":True}) 
+0

Bu işe yaramıyor. Yükün {'açık': true} olmasını istiyorum. Bu, yükü ne yazık ki çalışmayan {'on': True} haline getirecek. –

+0

çünkü json kullanarak sözlüğü dökmeniz gerekiyor. Örneğin, = {"on": True} yük yükünüz varsa, json.dumps (faydalı) –

+0

'u doğru yapın. Doğru bir Boole nesnesini geçirmemize yardımcı oldu, örneğin Doğru/Yanlış –