2016-07-31 20 views
0

Ich versuche, Zeitstempel auf die json einfügen curl Anfrage erhalten und veröffentlichen zu pubnub und richtige FormatEinsatz Zeitstempel json Antwort in 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 serialisiert andernfalls gibt {"code":"200","message":"Success","itemCount":0,"items":[]}

Ich möchte Zeitstempel auf die obige Nachricht hinzuzufügen und möchte das Ergebnis so sein: {"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)) 

Aber, wenn Ich veröffentliche es in pubnub, das Ergebnis sieht so aus.

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

Bitte helfen

Antwort

0

Sie dieses Ergebnis erhalten, weil Sie ein Tupel senden ein Wörterbuch und den Zeitstempel enthält, so offensichtlich wird es das Tupel als Antwort zurück. Versuchen Sie, den Zeitstempel in die Nachricht einzufügen, die Sie senden möchten.

Prüfen Sie, ob die folgenden Werke:

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

Es scheint zu passen, was Sie wollen.

+0

Meinst du das so ---> message = requests.get ("http: // localhost: 8080", daten = json.dumps (Nutzlast)) timestamp = message ["date": now.strftime (" % Y-% m-% d% H:% M ")] – upagna

+0

Haben Sie den Code, den ich geschrieben habe, getestet? Ich habe nicht wirklich verstanden, was du jetzt versucht hast. Im Grunde, sobald Sie eine Nachricht von der Anfrage haben, konvertieren Sie es in ein Wörterbuch und verwenden Sie es als solches. Von dort kannst du alles machen. –

+0

Ich bekomme diesen Fehler. Ich bin neu in Python und das ist der Fehler, den ich bekomme, wenn ich den Code verwende ---> message ["date"] = timestamp NameError: name 'timestamp' ist nicht definiert – upagna