Pythonでは、JSONデータを受け取ります。奇妙なことが起こる値をタプルに変換するPython
ruimte = Ruimte(id=id,
naam=naam,
ruimte_temperatuur_sensor=temperatuur_sensor,
ruimte_humiditeit_sensor=humiditeit_sensor,
ruimte_beweging_sensor=beweging_sensor,
airco_temperatuur_sensor=airco_sensor,
radiator_temperatuur_sensor=radiator_sensor)
:
id
フィールドを、私は、オブジェクト(センサがすでにマップされています)にこのJSONをマップ
{
"id": 1,
"naam": "4.13",
"ruimte_temperatuur_sensor": {...},
// etc
}
:データには、以下のスタブのようになります。 JSONでは整数ですが、Pythonはそれをタプルにマッピングします。
オブジェクトのコンストラクタが発生することはありませんこと:
class Ruimte:
def __init__(self,
id: int,
naam: str,
ruimte_temperatuur_sensor: Sensor,
ruimte_humiditeit_sensor: Sensor,
ruimte_beweging_sensor: Sensor,
airco_temperatuur_sensor: Sensor,
radiator_temperatuur_sensor: Sensor):
self.id = id,
self.naam = naam,
self.ruimte_temperatuur_sensor = ruimte_temperatuur_sensor
self.ruimte_humiditeit_sensor = ruimte_humiditeit_sensor
self.ruimte_beweging_sensor = ruimte_beweging_sensor
self.airco_temperatuur_sensor = airco_temperatuur_sensor
self.radiator_temperatuur_sensor = radiator_temperatuur_sensor
私のデバッガでは、あなたは
id=id
が整数にマップするが、その後突然、私のオブジェクトのすべてのタプルが含まれていることをはっきりと見ることができますexampe
ruimte.airco_temperatuur_sensor.id
ため、IDはタプルに解析されていない、オブジェクトのサブにおいて
は整数:
それJSONが同じように解析されますが:
def _parse_json_to_sensor(self, json: dict) -> Sensor:
id = json["id"]
type = SensorType(json["type"])
meet_interval_sec = json["sensorInstelling"]["meetIntervalSec"]
opslaan_interval_sec = json["sensorInstelling"]["opslaanIntervalSec"]
sensor = Sensor(id=id,
type=type,
meet_interval_sec=meet_interval_sec,
opslaan_interval_sec=opslaan_interval_sec)
私は完全にこれに迷ってしまいました。何が原因でしょうか?