Registriert seit: 19. Jan 2008
Ort: Brhv
83 Beiträge
Delphi 10.2 Tokyo Professional
|
JSON Wert lesen
8. Jan 2021, 11:48
Ich versuche vergeblich 3 Werte aus "art" lesen. (Bin nur ein Hobbyprogrammieren)
"id": "829",
"status": "1",
"changed": "2020-16-28 11:41:26"
Ohne diesen Array, komme ich mit JSON klar, sobald es geschachtelt wird kriege ich ständig Fehler.
Ich kann den zweiten Array nicht auslesen.
Mein JSON String
Code:
{
"js":{
"today":"67",
"old":14,
"selected_item":1,
"data":[
{
"nr":"525",
"name":"crane",
"number":"26",
"service_id":"723851235",
"logo":"15.png",
"art":[
{
"id":"829",
"shelf":"12",
"status":"1",
"changed":"2020-16-28 11:41:26"
}
],
"use_logo":"1"
},
{
"nr":"528",
"name":"poetry",
"number":"26",
"service_id":"723851235",
"logo":"15.png",
"art":[
{
"id":"829",
"shelf":"12",
"status":"1",
"changed":"2020-16-28 11:41:26"
}
],
"use_load_balancing":"1"
}
]
}
}
Das wäre mein normaler Fall
Code:
{
"js": [
{
"id": "*",
"name": "crane",
"nr": "528",
"service_id": "723851235",
"logo": "15.png",
"status": "1",
"changed": "2020-16-28 11:41:26",
"number": 56
},
{
"id": "107",
"name": "poetry",
"nr": "358",
"service_id": "6599235",
"logo": "395.png",
"status": "1",
"changed": "2020-16-29 13:17:11",
"number": 182
}
]
}
So lese ich die Daten aus:
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
ID : string;
Status : string;
Changed : string;
JSonValue : TJSonValue;
JsonArray : TJSONArray;
ArrElement : TJSonValue;
begin
JsonValue := TJsonObject.ParseJSONValue(Memo5.Text) as TJSONObject;
JsonValue := (JsonValue as TJSONObject).Get('js').JSONValue;
if (JSONValue is TJSONArray) then
begin
JSONArray := JsonValue as TJSONArray;
for ArrElement in JSONArray do
begin
ID := ArrElement.GetValue<string>('id');
Status := ArrElement.GetValue<string>('status');
Changed := ArrElement.GetValue<string>('changed');
end;
end;
end;
Sobald ich in den Unterbereich "art" greifen will, bekomme ich ständig Fehler.
Ich poste hier kein Muster wie ich es versucht habe, weil es sehr viel Versuche waren.
Kann mir Jemand unter die Arme greifen? Wäre supi.
Geändert von IMPEGA ( 8. Jan 2021 um 12:01 Uhr)
|