Ich habe ein JsonObject mit gemischten Datentyp Werte. Ich möchte ihre Klassen erkennen, damit ich weiterarbeiten kann.Wie überprüft man den JSON-Datumstyp eines Wertes von einem JSONObject?
Ich kann jedoch nicht den Objekttyp überprüfen, wenn ihre Klasse Json Datumstyp ist.
Beispielprobecode Ich habe
JSONObject js1 = new JSONObject(
"{\"a\": 1, \"b\": \"str\", \"dob\":\"/Date(1463667774000+0000)/\"}");
Iterator<String> keys = js1.keys();
while(keys.hasNext()){
Object aObj = js1.get(keys.next());
if(aObj instanceof Integer){
System.out.println(aObj+" is Integer");
}else if(aObj instanceof String){
System.out.println(aObj+"is String");
}else if(aObj instanceof Date){
System.out.println(aObj+"is Date");
}
}
Ergebnis:
1 is Integer
str is String
/Date(1463667774000+9000)/ is String
Erwartetes Ergebnis:
1 is Integer
str is String
/Date(1463667774000+9000)/ is Date
Ich versuchte mit EdmDateTime und EdmDateTimeOffset Klasse in org.apache.olingo-olingo-odata2-Core-2.0.6.jar, aber das funktioniert nicht. Noch zeigt es/Datum (1463667774000 + 9000)/ist String