如何在python JSON字符串中转义true / false boolean

时间:2016-11-14 20:54:54

标签: python json

我有以下代码

headers = {'Content-Type': 'application/json', 'cwauth-token': token}

payload = {'namePostfix': 'test99682', 'costModel': 'NOT_TRACKED', 'clickRedirectType': 'REGULAR', 'trafficSource':{'id': '3a7ff9ec-19af-4996-94c1-7f33e036e7af'}, 'redirectTarget': 'DIRECT_URL', 'client':{'id': 'clentIDc', 'clientCode': 'xxx', 'mainDomain': 'domain.tld', 'defaultDomain': 'domain.tld'', 'dmrDomain': 'domain.tld'', 'customParam1Available': false, 'realtimeRoutingAPI': false, 'rootRedirect': false}, 'country':{'code': 'UK'}, 'directRedirectUrl': 'http://google.co.uk'}

r = requests.post('http://stackoverflow.com', json=payload, headers=headers)

当我点击开始时,它会给出错误

NameError: name 'false' is not defined

我怎样才能逃脱有效载荷上的假布尔?

2 个答案:

答案 0 :(得分:2)

Python没有使用false,它使用False,因此您获得NameError,因为Python正在寻找名为false的变量哪个不存在。

false替换为词典中的False。你在某些地方也引用了太多的引号,所以我删除了那些:

payload = {'namePostfix': 'test99682', 'costModel': 'NOT_TRACKED', 'clickRedirectType': 'REGULAR', 'trafficSource':{'id': '3a7ff9ec-19af-4996-94c1-7f33e036e7af'}, 'redirectTarget': 'DIRECT_URL', 'client':{'id': 'clentIDc', 'clientCode': 'xxx', 'mainDomain': 'domain.tld', 'defaultDomain': 'domain.tld', 'dmrDomain': 'domain.tld', 'customParam1Available': False, 'realtimeRoutingAPI': False, 'rootRedirect': False}, 'country':{'code': 'UK'}, 'directRedirectUrl': 'http://google.co.uk'}

同样,相反的布尔值是True(不是true)," null"数据类型为None

答案 1 :(得分:1)

False是在Python中使用的正确名称。在Python中,布尔值,true和false由大写的TrueFalse

定义