Hallo, ich hoffe jemand kann mir weiterhelfen, ich stelle mich einfach zu prasselig an.
Ich habe ein JSON, welches ich gern in ein Object giessen möchte:
Code:
{"energyDetails": {
"timeUnit": "YEAR",
"
unit": "Wh",
"meters": [
{
"type": "Production",
"values": [ {
"date": "2021-01-01 00:00:00",
"value": 569863
}]
},
{
"type": "FeedIn",
"values": [ {
"date": "2021-01-01 00:00:00",
"value": 285170
}]
},
{
"type": "SelfConsumption",
"values": [ {
"date": "2021-01-01 00:00:00",
"value": 284693
}]
},
{
"type": "Purchased",
"values": [ {
"date": "2021-01-01 00:00:00",
"value": 31557
}]
},
{
"type": "Consumption",
"values": [ {
"date": "2021-01-01 00:00:00",
"value": 316250
}]
}
]
}}
Mein Objektc habe ich so aufgebaut:
Code:
TValues = class
private
[JSONName('date')]
Fdate: String;
[JSONName('value')]
Fvalue: Integer;
published
property date :String read Fdate write Fdate;
property value :Integer read Fvalue write Fvalue;
end;
TMeters = class
private
[JSONName('type')]
Ftype: String;
[JSONName('values')]
Fvalues: TValues;
published
property types : String read Ftype write Ftype;
property values : TValues read Fvalues write Fvalues;
end;
TEnergyDetails = class
private
[JSONName('timeUnit')]
FtimeUnit :String;
[JSONName('
unit')]
Funit :String;
[JSONName('meters')]
Fmeters :TObjectList<Tmeters>;
published
property timeUnit : String read FtimeUnit write FtimeUnit;
property units : String read Funit write Funit;
property meters : TObjectList<Tmeters> read Fmeters write Fmeters;
end;
Die Umwandlung wollte ich so machen:
Code:
memo1.Text :=RESTResponse1.JSONValue.ToJSON;
energyDetail:= TJson.JsonToObject<TEnergyDetails>(memo1.Text);
listbox1.Items.Add(energyDetail.timeUnit);
listbox1.Items.Add(energyDetail.units);
Es entsteht das Object, aber ist komplett leer.
('', '', nil)
Ich steh völlig auf dem Schlauch.
Kann mir bitte jemand den erhellenden Hinweis geben?
Danke,
Romy