我有一些问题试图让ackknowalgemtns使用python。
到目前为止,我的代码发布了消息并获得了JSON sting作为回报,但现在我需要一种方法来从字符串中获取收据
import requests
app_token = 'app token'
user_token = 'user token'
title = 'TEST MESSGAE'
text = 'text for polling'
params = {
'token': app_token,
'user': user_token,
'title': title,
'message': text,
'retry': 30,
'expire': 180,
'priority': 2,
'sound': 'siren',
}
msg = requests.post('https://api.pushover.net/1/messages.json', data=params)
print "POSTed message"
print msg.json()
输出
POSTed message
{u'status': 1, u'receipt': u'riD7NEukZsiDQpjhiNppphYnpue8uK', u'request': u'ef5f42d568e966cbf3d2b28c6579397c'}
该参数是区分大小写的30个字符的字符串,包含字符集[A-Za-z0-9]。 这会是一项REGEX工作吗?
答案 0 :(得分:3)
因为它是json类型,所以你可以使用json
模块将数据加载为dict
。例如,如果你有一些json
像这样的数据:
'{"message":"Hello there, wayfaring stranger"}'
然后您可以使用json.loads()
函数将其加载为dict
,如下所示:
>>> a = '{"message":"Hello there, wayfaring stranger"}'
>>> import json
>>> d = json.loads(a)
>>> d.items()
dict_items([('message', 'Hello there, wayfaring stranger')])
>>>
如您所见,a
是字符串,但d
是字典。现在,'Hello there, wayfaring stranger'
是键'message'
的值。
但是msg.json()
can auto covert the json data to dict,所以你不需要这里的json模块。因此,如果您想获得'ef5f42d568e966cbf3d2b28c6579397c'
,您可以执行以下操作:
json_data = msg.json()
print json_data['request']