Я хочу сделать пост-запрос с одним из элементов, содержащим список значений ключа с несколькими объектами в нем. Однако, когда я помещаю данные JSON в мое тело запроса, элемент помещает '' по всему списку, делая его не сериализуемым для веб-сервера, который будет получать данные.
// the format should be like this ->{
"data1": str,
"data2": int,
"devices": {
"device1": [
{
"timestamp": int,
"temperature": int
},
... // More signals from same device
],
... // More devices for example device 2 same format etc.
}
}
Однако, когда я запускаю свой код в том же формате, я получаю такой вывод
{'data1': '1234', 'data2': 1234, 'devices': {'"device1": [{"temperature": 20, "timestamp": 1585776505}]}, {"device2": [{"temperature": 18, "timestamp": 1585776505}]'}} ///etc..
Как вы можете видеть внутри элемента устройств, это "" "в начале и в конце, что разрушает формат, чтобы веб-сервер не мог получить данные. Я не знаю, как от этого избавиться. Когда я не помещаю данные в тело запроса, формат выглядит хорошо, "" "там нет. Сначала я использую python, создав словарь, который я помещаю в список со всеми полученными устройствами, а затем помещаю их в тело запроса после использования json.dumps()
.
mac_dict2 = {devicename:
[{"temperature" : temp,
"timestamp": int(time.time())}]
} // the format i want my list of devices to have
mac_list.append(mac_dict2) // mac_list is an empty list that gets filled with the devices
if item == device_data[-1]: //an if statement that will fill my last index in the list with all the devices that i want send forward to the webserver
print("MAC LIST------------>")
print("JSON LIST------------>")
new_mac_json = json.dumps(mac_list)
final_list = new_mac_json[2:-2] / i use this function to erase the bars from the list
print("NEW LIST------------>")
print(final_list )
json_obj_go = {
"data1": str,
"data2": int(time.time()),
"devices": {final_list // i put the list inside of the json body
}
}
print("JSON OBJ------------>")
print(json_obj_go)
Вывод выглядит почти хорошо, это просто "" ", который заканчивается до и после окончательного списка в теле запроса. Как я уже говорил ранее, я хочу, чтобы элемент устройств имел отдельные устройства внутри, содержал свои собственные специфические c значения / данные внутри массива