2016-07-31 193 views
0

我试图插入时间戳的JSON卷曲get请求,并发布到pubnub并未能序列化格式正确插入时间戳在python

#!/usr/bin/python 

import requests 
import json 
import sys 
import datetime 
from pubnub import Pubnub 

now = datetime.datetime.now() 
pubnub = Pubnub(
publish_key = "key", 
subscribe_key = "my_key") 
channel = "my_channel" 

payload = {'Postman-Token': 'sometoken', 'title': "pythontest"} 
message = requests.get("http://localhost:8080/", data=json.dumps(payload)) 

print.message.text JSON响应给{"code":"200","message":"Success","itemCount":0,"items":[]}

我想时间标记添加到上述消息,并希望得到的结果是这样的:{"code":"200","message":"Success",date:"2016-07-31 15:26"}

print now.strftime("%Y-%m-%d %H:%M") 
timestamp=str(now.strftime("%Y-%m-%d %H:%M")) 

print message.text,now.strftime("%Y-%m-%d %H:%M") 
Hello = str(message.text) 

pubnub.publish(
channel = channel, 
message = (Hello,timestamp)) 

但是,当我将它发布到pubnub,结果如下所示。

[u'{"code":"200","message":"Success","itemCount":0,"items":[]}', u'2016-07-31 15:26'] 

请帮

回答

0

,因为您发送包含字典和时间戳的元组你得到这样的结果,所以很明显它会返回元组作为响应。尝试在您要发送的消息中插入时间戳。

看看下面的工作:

message = json.loads(requests.get("http://localhost:8080/", data=json.dumps(payload))) 
message["date"] = timestamp 

这似乎适合你想要的东西。

+0

你的意思是这样--- --- message = requests.get(“http:// localhost:8080”,data = json.dumps(payload))timestamp = message [“date”:now.strftime(“ %Y-%m-%d%H:%M“)] – upagna

+0

你试过我写的代码吗?我真的不明白你现在尝试了什么。基本上,一旦你有请求的消息,将其转换为字典并使用它。从那里你可以做任何事情。 –

+0

我得到这个错误。我是python新手,这是我在使用代码时得到的错误---> message [“date”] = timestamp NameError:name'timestamp'未定义 – upagna