从JSONObject获取日期

时间:2013-07-22 20:32:15

标签: java json mongodb org.json

我使用org.json将JSON字符串解析为JSON对象,我在JSON对象中有一个字段'expirationDate',我希望它被解析为java.util.Date,但JSONObject类没有getDate()方法。当我使用getString()方法时,我得到一个异常,如果我使用get()方法然后调用toString()方法,我会得到一个空指针异常。 我正在从mongodb获取JSON。 那么,我如何从JSONObject获取java.util.Date?

我的代码:

JSONArray jUsage = jsonObj.getJSONArray("attribute");
for(int i=0;i<jUsage.length();i++){
    JSONObject eachUsage = jUsage.getJSONObject(i);
    String aa = eachUsage.get("expirationDate").toString();
}

我的JSON:

"attribute": [
    {
        "expirationDate": {
            "$date": "2013-07-09T08:58:57.517Z"
        }
    }
],

1 个答案:

答案 0 :(得分:0)

从“$ date”中删除“$”。此外,我建议更改“dateInUTC”之类的名称“date”,以确保org.json不会干扰此过程。

随后,将值检索为纯字符串。接下来,在java端,您需要使用SimpleDateFormat或类似JODA的东西来解析java.util.Date中的字符串。

这可以帮助您更好地了解:

http://rafaelsantosbra.wordpress.com/2013/07/05/implementing-date-and-time-standards-rfc-3339-across-web-services-and-web-pages/