将Json日期转换为java日期

我的json 响应包含CreatedOn日期:

{ "CreatedOn" : "\/Date(1406192939581)\/" } 

我需要将CreatedOn转换为简单的日期格式,并计算从CreatedOn Date到Present Date的差异天数。

当我调试下面的代码字符串CreatedOn显示一个空值。 怎么来的?

 JSONObject store = new JSONObject(response); if (response.contains("CreatedOn")) { String CreatedOn = store.getString("CreatedOn"); } 

 JSONObject store = new JSONObject(response); if(store.has("CreatedOn")) { Timestamp stamp = new Timestamp(store.getLong("CreatedOn")); Date date = new Date(stamp.getTime()); System.out.println(date); } 

要么

 JSONObject store = new JSONObject(response); if(store.has("CreatedOn")) { Integer datetimestamp = Integer.parseInt(store.getString("CreatedOn").replaceAll("\\D", "")); Date date = new Date(datetimestamp); DateFormat formatter = new SimpleDateFormat("HH:mm:ss:SSS"); String dateFormatted = formatter.format(date); } 

考虑使用JSON方法而不是包含。 JSON具有“has()”,用于validation密钥是否存在。

您还应该确保首先尝试{} catch {} String,以确保其有效的JSON。

更新:

您的价值是/日期(1406192939581)/

这意味着它必须先格式化。 通过解析字符串来获取它

 Integer datetimestamp = Integer.parseInt(store.getString("CreatedOn").replaceAll("\\D", ""));