Java 如何从JSONObject检查值的json日期类型?
我有一个数据类型值混合的jsonObject。我想承认他们的课程,以便我可以进一步处理 但是,当对象的类为Json日期类型时,我无法检查对象的类型。 示例试用代码我有 预期结果: 我尝试在org.apache.olingo-olingo-odata2-core-2.0.6.jar中使用EdmDateTime和EdmDateTimeOffset类,但这不起作用。Java 如何从JSONObject检查值的json日期类型?,java,json,datetime,odata,Java,Json,Datetime,Odata,我有一个数据类型值混合的jsonObject。我想承认他们的课程,以便我可以进一步处理 但是,当对象的类为Json日期类型时,我无法检查对象的类型。 示例试用代码我有 预期结果: 我尝试在org.apache.olingo-olingo-odata2-core-2.0.6.jar中使用EdmDateTime和EdmDateTimeOffset类,但这不起作用。 它仍然显示/Date(146366774000+9000)/is字符串Json结构不包含日期类型。你需要自己转换它 你可以做:
它仍然显示/Date(146366774000+9000)/is字符串Json结构不包含日期类型。你需要自己转换它 你可以做:
else if(aObj instanceof String) {
if (aObj.toString().startsWith("/Date")) {
System.out.println(aObj+" is Date");
}
else
System.out.println(aObj+" is String");
后来
String str = "/Date(1463667774000-9000)/";
Date date = new Date(Long.parseLong(str.replaceAll(".*?(\\d+).*", "$1")));
1 is Integer
str is String
/Date(1463667774000+9000)/ is Date
else if(aObj instanceof String) {
if (aObj.toString().startsWith("/Date")) {
System.out.println(aObj+" is Date");
}
else
System.out.println(aObj+" is String");
String str = "/Date(1463667774000-9000)/";
Date date = new Date(Long.parseLong(str.replaceAll(".*?(\\d+).*", "$1")));