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?