python - 在 python 中编辑 json 文件和请求库时出现问题
问题描述
大家好,我正在尝试编辑此 json 并更改“tempetura”和“timestamp”部分,但我被困在其中,我还需要通过 http 将其发送到服务器,它不接受我的 json这是代码:
import paho.mqtt.subscribe as subscribe
import requests
import datetime
import json
def on_message(client, userdata, message):
print("salvando mensagem...")
temp = str(message.payload.decode("utf-8"))
data = datetime.datetime.utcnow().isoformat()
print("a mensagem recebida foi :" + temp)
print("Mandando para o interscity...")
payload = '{"data":{"environment_monitoring":[{"temperatura": "30.0","timestamp": "13/04/2020T109:29:00"}]}}'
r = requests.post('address', json=payload, headers="content-Type: application/json")
print("postado no interscity")
subscribe.callback(on_message, "teste", hostname = "address", port=1883 )
编辑1:
我修复了 json 部分,它在库中有一个列表。
import paho.mqtt.subscribe as subscribe
import requests
import datetime
import json
def on_message(client, userdata, message):
print("salvando mensagem...")
temp = str(message.payload.decode("utf-8"))
data = datetime.datetime.utcnow().isoformat()
print("a mensagem recebida foi :" + temp)
print("Mandando para o interscity...")
payload = '{"data":{"environment_monitoring":[{"temperatura": "30.0","timestamp": "13/04/2020T109:29:00"}]}}'
y = json.loads(payload)
y["data"]["environment_monitoring"][0]["temperatura"] = temp
y["data"]["environment_monitoring"][0]["timestamp"] = data
y = json.dumps(y)
r = requests.post('server_addres', data=y, headers="content-Type: application/json")
print("postado no interscity")
subscribe.callback(on_message, "teste", hostname = "mqtt_address", port=1883 )
解决方案
推荐阅读
- compiler-construction - 函数 yylex() 中对 yylval 的未定义引用;
- clojure - 将元素添加到向量(conj 函数)并保持更改
- angular - 重用已即时加载的组件时出错
- javascript - 如何使用跨域 cookie 进行服务器端渲染?
- java - 从 mongodb 加载的地图键中的幻影点
- mysql - Mysql 如何对行进行排序以显示如下(例如 1 2 1 2 )
- vb.net - 在 vb.net 中使用单个按钮插入或更新
- angular - ngx-translate/core:即时方法从默认语言返回对象
- java - 静态数据的 Java Spring Boot 映射无效
- angular - 属性 closeOnBackdropClick 在 NbDialogService 中不起作用