【问题标题】:insert timestamp to json response in python在python中将时间戳插入json响应
【发布时间】:2026-01-24 07:55:01
【问题描述】:

我正在尝试将时间戳插入 json curl get 请求并发布到 pubnub,但无法序列化为正确的格式

#!/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{"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']

请帮忙

【问题讨论】:

    标签: python json pubnub


    【解决方案1】:

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

    看看以下是否有效:

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

    它似乎适合你想要的。

    【讨论】:

    • 你的意思是这样吗---> message = requests.get("localhost:8080", data=json.dumps(payload)) timestamp=message["date":now.strftime( "%Y-%m-%d %H:%M")]
    • 你试过我写的代码了吗?我真的不明白你现在尝试了什么。基本上,一旦您从请求中获得消息,就将其转换为字典并按原样使用。从那里你可以做任何事情。
    • 我收到此错误。我是 python 新手,这是我使用代码时遇到的错误 ---> message["date"] = timestamp NameError: name 'timestamp' is not defined
    • 这个错误是因为直到这行代码才声明时间戳变量
    • 我现在得到一个不同的错误 - message["date"] = timestamp TypeError: 'Response' object does not support item assignment