Einzelnen Beitrag anzeigen

Benutzerbild von Isaev
Isaev

Registriert seit: 4. Jun 2007
Ort: Sachsen
20 Beiträge
 
Delphi XE Architect
 
#1

Problemme mit DBXJSON

  Alt 10. Jul 2014, 20:18
hallo,
ich habe ein Paar Problemm mit DBXJSON in DelphiXE getroffen
JSON-Antwort-Beispiel, das muss man parsen:
Code:
{"num1":631,
 "num2":31,
 "num3":64,
 "data":"{
   \"dat1\":[0,1,2,3,4],
   \"dat2\":null,
   \"dat3\":true,
   \"dat4\":[1,1,1,1,1],
   \"dat5\":{
     \"dat4str1\":11,
     \"dat4str2\":0,
     \"dat4str3\":0,
     \"dat4str4\":2
   },
   \"sdata\":{
     \"sdata1\":12,
     \"sdata2\":48,
     \"sdata3\":395,
   },
   \"dat5\":[[0,1,1],[0,1,1],[0,1,1]]
 }"
}
1. Wenn wir die Antwort in var JSONText haben, nehmen wir zuerst als ganzes Objekt:

Code:
JSONObj:=TJSONObject.ParseJSONValue(JSONText) As TJSONObject;
Dann nehmen wir 'data' aus:

Code:
JSONData:=TJSONObject.ParseJSONValue(JSONObj.Get('data').JsonValue.Value) As TJSONObject;
Und jetzt muss man 'dat5' ausnehmen, logischerweise so:

Code:
JSONData4:=TJSONObject.ParseJSONValue(JSONData.Get('dat5').JsonValue.Value) As TJSONObject;
geht aber so nicht, wegen backslashs in \"dat5\"

Was kann man tun? (In php wurde alles gut geparst.)

2. Wie kann man Parameter null und true("dat2" und "dat3") auslesen?

Geändert von Isaev (11. Jul 2014 um 11:31 Uhr)
  Mit Zitat antworten Zitat